2012-06-09 134 views
9

我必须添加一个默认值不是默认值的列到使用Alter表的特定列之后的表中。添加默认值不为空的列。

ALTER TABLE tblechecklistrevision ADD COLUMN IWorkFlowOrder INT(10) DEFAULT NOT NULL AFTER fState; 

当我执行查询我会得到下面的错误

您的SQL语法错误;检查手册中 对应于你的MySQL服务器版本正确的语法使用 附近“NOT NULL AFTER fState”如果你想要的默认值在1号线

回答

10

您应该删除DEFAULT

ALTER TABLE tblechecklistrevision 
    ADD COLUMN IWorkFlowOrder INT(10) NOT NULL AFTER fState; 

默认值是初始值设定为新行,其中没有指定该列的值,当您编写...INT(10) NOT NULL时,实际上该列不能包含NULL,而不仅仅是在初始化时。

9

不等于NULL(例如0),你可以更多信息:

ALTER TABLE tblechecklistrevision 
    ADD COLUMN IWorkFlowOrder INT(10) NOT NULL DEFAULT 0 AFTER fState