5

デフォルト値を指定しながら、別の列の後に列を追加しようとしています。以下はうまくいかない私の試みです。

alter table pageareas add content_userDefined BIT( 1 ) NULL default 0 after content;

「コンテンツの後」を削除すると、次のように機能します。

alter table pageareas add content_userDefined BIT( 1 ) NULL default 0;

そして、「デフォルト0」を削除すると、機能します。

alter table pageareas add content_userDefined BIT( 1 ) NULL after content;

デフォルト値を定義しながら、指定した列の後に追加するにはどうすればよいですか?

MySql5.1.36を使用しています

4

1 に答える 1

8

今回、ドキュメントをalter table正しく読んでいる場合は、afterまたはを指定することしかできdefaultませんが、両方を指定することはできません。これを回避するには、を使用して列を作成しafter、それを変更してdefault:を使用します。

alter table pageareas add content_userDefined BIT( 1 ) NULL after content;
alter table pageareas alter content_userDefined set default 0;
于 2012-04-13T16:55:24.653 に答える