Saya memiliki catatan berikut dan saya perlu memasukkan kolom baru yang disebut "catatan" dengan ID yang dihasilkan dalam urutan menaik; bagaimana kita melakukannya di database "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

Menjadi seperti di bawah ini:

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 saya adalah sebagai berikut:

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
0
jean 11 Desember 2017, 11:49

1 menjawab

Jawaban Terbaik

Pertanyaan ini dapat dipecah menjadi tiga langkah:

1. Menambahkan kolom

Misalkan nama tabel adalah table_name, maka untuk menambahkan kolom bernama records dengan tipe int, jalankan perintah ini:

ALTER TABLE table_name ADD record int;

2. Memperbarui kolom itu untuk semua baris dengan urutan angka

Untuk melakukan ini, Anda memerlukan bidang tambahan. Misalkan kita memilih nama @rank untuk bidang ini. Ini adalah bagaimana Anda memperbarui kolom itu dengan urutan nomor:

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

3. (Opsional) Menambahkan properti AUTO_INCREMENT

Anda mungkin ingin menambahkan properti AUTO_INCREMENT ke catatan, sehingga Anda tidak perlu menentukan nilai record secara manual. Untuk melakukan itu, kolom record harus menjadi kunci utama.

Jika tabel sudah memiliki kunci utama, Anda harus menjatuhkannya terlebih dahulu dengan menggunakan perintah ini:

ALTER TABLE table_name DROP PRIMARY KEY;

Dan kemudian Anda dapat menambahkan properti AUTO_INCREMENT ke catatan sambil menyetelnya ke kunci utama:

ALTER TABLE table_name CHANGE record record int AUTO_INCREMENT PRIMARY KEY;
1
Muhammad Nizami 11 Desember 2017, 09:18