2013-09-22 52 views
1

我已經在mySQL中創建了一個名爲contact_info的數據庫,並且我試圖向字段firstname和lastname添加一個約束,表示它們不能爲NULL。這是我目前嘗試使用的行:如何將約束添加到mySQL中已有的表中?

ALTER TABLE contact_info MODIFY firstname, lastname DATATYPE NOT NULL; 

回答

1

您不能一次更改兩列。使用單獨的命令:

ALTER TABLE contact_info MODIFY firstname DATATYPE NOT NULL; 
ALTER TABLE contact_info MODIFY lastname DATATYPE NOT NULL; 

或將其兩種規格組合到一個命令:

ALTER TABLE contact_info 
    MODIFY firstname DATATYPE NOT NULL, 
    MODIFY lastname DATATYPE NOT NULL; 
+0

當我嘗試單獨修改每一個時,仍然出現語法錯誤。它說錯誤1064(42000)在DATATYPE NOT NULL – dff

+0

我解決了這個問題。我誤解了一般的語法,實際上是輸入數據類型而不是varchar(15)。工作線是: ALTER TABLE contact_info MODIFY firstname VARCHAR(15)NOT NULL; – dff

+0

是啊「DATATYPE」是一個真正的數據類型的佔位符,比如「文本」或其他 – Bohemian

0
ALTER IGNORE TABLE mytbl ADD not null (columnName); 
0

你可以試試這個:

ALTER忽略TABLE表名ADD NOT NULL(列名) ;