Вставьте новый столбец с сгенерированными идентификаторами последовательности в базу данных mySQL

0

У меня есть следующие записи, и мне нужно вставить новый столбец с именем "records" с сгенерированными идентификаторами в порядке возрастания; как мы это делаем в базе данных MySQL?

TERM_CODE   SUBJ_CODE   CRSE_NUMB   SCHD_CODE       CREDIT_HRS
201710  CHEN                311           L             93
201710  CHEN                311           L             96
201710  CHEN                314           L             78
201710  CHEN                314           L             81

быть следующим:

Record  TERM_CODE   SUBJ_CODE   CRSE_NUMB   SCHD_CODE   CREDIT_HRS
1        201710       CHEN         311         L          93
2        201710       CHEN         311         L          96
3        201710       CHEN         314         L          78
4        201710       CHEN         314         L          81

Мой DDL следующий:

Field          Type    Collation    Null
TERM_CODE   varchar(28) utf8_bin    NO
SUBJ_CODE   varchar(20) utf8_bin    NO
CRSE_NUMB   varchar(24) utf8_bin    NO
CRSE_LVL    varchar(50) utf8_bin    YES
PIDM         double                 NO
Count        double                 YES
Earned      varchar(20) utf8_bin    YES
Job_Type    varchar(50) utf8_bin    YES
COST        varchar(50) utf8_bin    YES
COST_DES    varchar(83) utf8_bin    YES
Теги:

1 ответ

1
Лучший ответ

Этот вопрос можно разбить на три этапа:

1. Добавление столбца

Предположим, что имя таблицы table_name, затем добавить столбец с названием records с типом int, необходимо выполнить следующую команду:

ALTER TABLE table_name ADD record int;

2. Обновление этого столбца для всех строк с последовательностью чисел

Для этого вам понадобится дополнительное поле. Предположим, мы выбрали имя @rank для этого поля. Вот как вы обновляете этот столбец с последовательностью чисел:

SET @rank:=0;
update table_name
set record=@rank:=@rank+1;

3. (Необязательно) Добавление свойства AUTO_INCREMENT

Возможно, вы захотите добавить в запись свойство AUTO_INCREMENT, так что вам не нужно вручную определять значение record. Для этого record столбца должна быть первичным ключом.

Если в таблице уже есть первичный ключ, вы должны сначала перенести его, используя следующую команду:

ALTER TABLE table_name DROP PRIMARY KEY;

А затем вы можете добавить свойство AUTO_INCREMENT в запись при настройке на первичный ключ:

ALTER TABLE table_name CHANGE record record int AUTO_INCREMENT PRIMARY KEY;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню