回答:
次のものが必要です。
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
列はデフォルトでnull可能です。長い列のように宣言されていないUNIQUE
か、NOT NULL
何か問題があってはなりません。
TIMESTAMP
MySQLのバージョンと構成に応じて@ConroyPで提案されているようにNOT NULL
指定できるタイプのエッジケースがありNULL
ます。
構文エラーは、クエリに「テーブル」がないために発生します
ALTER TABLE mytable MODIFY mycolumn varchar(255) null;
NULL
に何の問題もないという理由だけで、この回答は受け入れられた回答よりも「正しい」とは言えませんか?列はデフォルトでnull可能であることを(受け入れられた回答で述べたように)知っていると、この特定の質問に関して役立ちます。
状況によっては( "ERROR 1064(42000):You have a error in your SQL syntax; ..."と表示される場合)、次のことを行う必要があります。
ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255);
私の解決策は@Krishnrohitと同じです:
ALTER TABLE `table` CHANGE `column_current_name` `new_column_name` DATETIME NULL;
実際に列を設定しましNOT NULL
たが、上記のクエリでは次のように変更されましたNULL
。
PS私はこれが古いスレッドであることを知っていますが、それCHANGE
も正しいことを誰も認めていないようです。
使用する:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);