添加默认值不为null的列。

时间:2012-06-09 11:12:42

标签: mysql

我必须在使用Alter表的特定列之后添加一个默认值不为null的列。

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

当我执行查询时,我将收到以下错误

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近第1行的'NOT NULL AFTER fState'

2 个答案:

答案 0 :(得分:15)

您应该删除DEFAULT

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

DEFAULT用于将初始值设置为新行,其中未指定该列的值,当您编写...INT(10) NOT NULL时,您的意思实际上该列永远不会包含NULL,而不仅仅是在初始化时

答案 1 :(得分:10)

如果您希望默认值不等于NULL(示例0),您可以执行以下操作:

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