在列之后添加新列并定义默认值

时间:2012-04-13 16:40:14

标签: mysql database alter-table

我正在尝试在另一列之后添加一列,同时还指定一个默认值。以下是我的尝试不起作用。

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;

如何在指定列之后添加它并同时定义默认值?

我正在使用MySql 5.1.36

1 个答案:

答案 0 :(得分:6)

如果我这次正确地阅读了documentation for alter table ...您只能指定afterdefault,但不能指定两者。您可以使用after创建列,然后将其更改为default来解决此问题:

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