Bagaimana cara mengubah definisi kolom MySQL?


156

Saya memiliki tabel mySQL yang disebut tes:

create table test(
    locationExpect varchar(120) NOT NULL;
);

Saya ingin mengubah kolom locationExpect menjadi:

create table test(
    locationExpect varchar(120);
);

Bagaimana itu bisa dilakukan dengan cepat?

Jawaban:


273

Apakah maksud Anda mengubah tabel setelah dibuat? Jika demikian, Anda perlu menggunakan tabel alter , khususnya:

ALTER TABLE tablename MODIFY COLUMN new-column-definition

misalnya

ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);

5
Jadi ... MySQLWorkbench memiliki bug pemeriksaan sintaks yang menolak perintah ini. Tapi, itu perintah yang tepat.
Steven Lu

Hati-hati: Contoh di atas juga akan mengubah COLUMN menjadi Null = Ya, Default = Null. Anda perlu menentukan nilai yang berbeda jika Anda tidak ingin Null.
Guy Gordon

@GuyGordon dalam Mask pertanyaan asli ingin mengubah kolom dari yang NOT NULLmemungkinkan nol jadi saya pikir contoh ini masih OK. Setuju bahwa sedikit variasi akan diperlukan jika standar yang berbeda diinginkan.
mikej

43

Sintaks untuk mengubah nama kolom di MySql :

alter table table_name change old_column_name new_column_name data_type(size);

Contoh:

alter table test change LowSal Low_Sal integer(4);

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.