【发布时间】:2015-08-10 12:37:11
【问题描述】:
在表格中添加多个列时出错
ALTER TABLE 只允许添加可以包含空值的列, 或指定了 DEFAULT 定义,或添加的列是 身份或时间戳列,或者如果没有 满足先前的条件,表必须为空才能允许 添加此列。无法将“国家/地区”列添加到 非空表 'tbl_alerts' 因为它不满足这些 状况。
这是我的alter table 声明
ALTER TABLE tbl_alerts
ADD
Country [varchar](50) NOT NULL,
StateName [varchar](50) NOT NULL,
City [varchar](50) NOT NULL,
MacAddress [varchar](50) NOT NULL,
OSDetails [varchar](50) NOT NULL,
MachineName [varchar](50) NOT NULL,
Browser [varchar](50) NOT NULL
【问题讨论】:
-
添加不可为空的列时,应指定默认值。
-
问题是表的已经存在的行 最终会有一个新的
NOT NULL列,其中没有任何值。 -
为什么人们从来不阅读错误信息?它的存在是为了让您知道出了什么问题!它是简单的英语,所以除了将其翻译成您的母语之外,我不知道有人能比错误消息更好地回答您的问题。
标签: sql sql-server default-value ddl