476

MySQL 5.0.45

列を null にできるようにテーブルを変更する構文は何ですか。代わりに、これの何が問題なのですか:

ALTER mytable MODIFY mycolumn varchar(255) null;

上記を実行するだけでマニュアルを解釈すると、列が再作成され、今回はnullが許可されます。サーバーは、構文エラーがあると言っています。私はそれらを見ません。

4

6 に答える 6

705

次のものが必要です。

ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);

デフォルトでは、列は null 可能です。列がUNIQUEorNOT NULLと宣言されていない限り、問題はないはずです。

于 2008-10-17T16:55:11.550 に答える
312

構文エラーは、クエリに「表」がないことが原因です

ALTER TABLE mytable MODIFY mycolumn varchar(255) null;
于 2008-10-17T16:58:39.093 に答える
37

私の解決策:

ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL

例えば:

ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL;
于 2011-11-24T09:36:43.153 に答える
8

状況によっては(「ERROR1064(42000):SQL構文にエラーがあります; ...」が発生した場合)、次のことを行う必要があります。

ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255);
于 2009-09-02T16:15:27.520 に答える
-9

使用する: ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);

于 2015-08-12T13:21:09.150 に答える