다음 형식의 (MYSQL) 테이블이 있습니다. 테이블 이름은 mytable
:
id | 이름 | 그룹 |
---|---|---|
123 | 이름 1 | 1 |
124 | 이름 2 | 2 |
125 | 이름 3 | 1 |
126 | 이름 4 |
id
是唯一的并且自动递增。 name
是一个唯一的字符串,group
은 단지 정수입니다
나는 지금 name4
分配给一个尚不存在的新 group
,因此本例中 name4
的 group
不能是 1
或 2
하고 싶다.
예를 들어 결과는 다음과 같습니다.
id | 이름 | 그룹 |
---|---|---|
126 | 이름 4 | 3 |
현재는 정수라는 것 외에는 다른 제약이 없는 group
降序排序,只需手动插入最大数字 + 1,但我想知道是否有更好/更快的方法在列中生成新的唯一值。 group
를 누릅니다.
저는 MySQL Workbench를 사용하고 있어서 SQL 명령어는 물론 Workbench 전용 옵션도 가능하다면 사용할 수 있습니다.
불분명한 점이 있으면 기꺼이 설명해 드리겠습니다.
MySQL 8.0에서는 두 가지 창 기능에 대한 도움말을 얻을 수 있습니다.
MAX
, 최대 "group" 값ROW_NUMBER
, 테이블에 있는 각 NULL에 대한 증분 값을 검색합니다.그런 다음 이 두 값을 합산하고 "Group" 필드가 비어 있는 테이블을 업데이트할 수 있습니다.
으아악데모를 여기에서 확인하세요.
MySQL 5에서. 으아악 데모를
에서 확인하세요.UPDATE
语句中增量更新。 >SET여기