다음 형식의 (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여기