>  Q&A  >  본문

열에 새로운 고유 값 생성

다음 형식의 (MYSQL) 테이블이 있습니다. 테이블 이름은 mytable:

입니다.
id 이름 그룹
123 이름 1 1
124 이름 2 2
125 이름 3 1
126 이름 4

id 是唯一的并且自动递增。 name 是一个唯一的字符串,group은 단지 정수입니다

나는 지금 name4 分配给一个尚不存在的新 group,因此本例中 name4group 不能是 12하고 싶다.

예를 들어 결과는 다음과 같습니다.

id 이름 그룹
126 이름 4 3

현재는 정수라는 것 외에는 다른 제약이 없는 group 降序排序,只需手动插入最大数字 + 1,但我想知道是否有更好/更快的方法在列中生成新的唯一值。 group를 누릅니다.

저는 MySQL Workbench를 사용하고 있어서 SQL 명령어는 물론 Workbench 전용 옵션도 가능하다면 사용할 수 있습니다.

불분명한 점이 있으면 기꺼이 설명해 드리겠습니다.

P粉210405394P粉210405394399일 전806

모든 응답(1)나는 대답할 것이다

  • P粉205475538

    P粉2054755382023-09-17 00:08:56

    MySQL 8.0에서는 두 가지 창 기능에 대한 도움말을 얻을 수 있습니다.

    • MAX, 최대 "group" 값
    • 을 검색하세요.
    • ROW_NUMBER, 테이블에 있는 각 NULL에 대한 증분 값을 검색합니다.

    그런 다음 이 두 값을 합산하고 "Group" 필드가 비어 있는 테이블을 업데이트할 수 있습니다.

    으아악

    데모를 여기에서 확인하세요.


    MySQL 5에서. 으아악 데모를 UPDATE 语句中增量更新。 >SET여기

    에서 확인하세요.

    회신하다
    0
  • 취소회신하다