MySQL 5.0.45
列を null にできるようにテーブルを変更する構文は何ですか。代わりに、これの何が問題なのですか:
ALTER mytable MODIFY mycolumn varchar(255) null;
上記を実行するだけでマニュアルを解釈すると、列が再作成され、今回はnullが許可されます。サーバーは、構文エラーがあると言っています。私はそれらを見ません。
次のものが必要です。
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
デフォルトでは、列は null 可能です。列がUNIQUE
orNOT NULL
と宣言されていない限り、問題はないはずです。
構文エラーは、クエリに「表」がないことが原因です
ALTER TABLE mytable MODIFY mycolumn varchar(255) null;
私の解決策:
ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL
例えば:
ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL;
状況によっては(「ERROR1064(42000):SQL構文にエラーがあります; ...」が発生した場合)、次のことを行う必要があります。
ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255);
使用する:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);