我必须在使用Alter表的特定列之后添加一个默认值不为null的列。
ALTER TABLE tblechecklistrevision ADD COLUMN IWorkFlowOrder INT(10) DEFAULT NOT NULL AFTER fState;
当我执行查询时,我将收到以下错误
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近第1行的'NOT NULL AFTER fState'
答案 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