我在查询分析器里建立了一个表:create table login
(name nvarchar(20),
pwd nvarchar(40))
然后修改数据表结构:
alter table login add id int constraint id_key primary key not null
出现错误服务器: 消息 4901,级别 16,状态 1,行 1
ALTER TABLE 只允许添加可包含空值或指定了 DEFAULT 定义的列。因为列 'id' 不能包含空值且未指定 DEFAULT 定义,所以无法将该列添加到表 'login' 中。
(name nvarchar(20),
pwd nvarchar(40))
然后修改数据表结构:
alter table login add id int constraint id_key primary key not null
出现错误服务器: 消息 4901,级别 16,状态 1,行 1
ALTER TABLE 只允许添加可包含空值或指定了 DEFAULT 定义的列。因为列 'id' 不能包含空值且未指定 DEFAULT 定义,所以无法将该列添加到表 'login' 中。
(
id int not null ,
name nvarchar(20) ,
pwd nvarchar(40),
CONSTRAINT ID_PK PRIMARY KEY (ID)
)
主键不能为null
(id int not null,
name nvarchar(20),
pwd nvarchar(40)
)
ALTER TABLE [dbo].[login] ADD
CONSTRAINT [id_key] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
数据库要求 alter table 时候 新加入的列必须要有 default 或者 指定 null ,但是指定主键的字段又不允许为null 所以就成了那样
create table login
(id int not null PRIMARY KEY CLUSTERED ,
name nvarchar(20),
pwd nvarchar(40)
)