MySQL sütun tanımını nasıl değiştirebilirim?


156

Test adında bir mySQL tablo var:

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

LocationExpect sütununu değiştirmek istiyorum:

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

Nasıl çabuk yapılabilir?

Yanıtlar:


273

Tablo oluşturulduktan sonra değiştirmek mi demek istediniz? Öyleyse , değiştirme tablosunu kullanmanız gerekir , özellikle:

ALTER TABLE tablename MODIFY COLUMN new-column-definition

Örneğin

ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);

5
Yani ... MySQLWorkbench bu komutu reddeden bir sözdizimi denetimi hatası içeriyor. Ama bu doğru komut.
Steven Lu

Dikkat: Yukarıdaki örnek, COLUMN değerini Null = Evet, Varsayılan = Null olarak değiştirecektir. Null istemiyorsanız farklı değerler belirtmeniz gerekir.
Guy Gordon

@GuyGordon orijinal soru MaskesiNOT NULL null izin vermek için bir sütun değiştirmek istedi, bu yüzden bu örnek hala Tamam olduğunu düşünüyorum. Yine de farklı bir temerrüt istendiğinde küçük bir değişiklik yapılması gerektiğini kabul edin.
mikej

43

İçin sözdizimi değişiklik sütun adının içinde MySql :

alter table table_name change old_column_name new_column_name data_type(size);

Misal:

alter table test change LowSal Low_Sal integer(4);

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.