alter table的问题。

sutdy 2005-09-28 10:19:29
表table1(price,sellnum,deptno)要求在table1加no_id字段,char(10),不可为空,unique约束。
执行如下:
alter table table1 add no_id char(5) not null unique

服务器: 消息 4901,级别 16,状态 1,行 1
ALTER TABLE 只允许添加可包含空值或指定了 DEFAULT 定义的列。因为列 'no_id' 不能包含空值且未指定 DEFAULT 定义,所以无法将该列添加到表 'table1' 中。

怎么办???
...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baolinlin 2005-09-29
  • 打赏
  • 举报
回复
先把列加上,然后把这列的数据填上,最后再加约束
caizhen2000_82 2005-09-29
  • 打赏
  • 举报
回复
先将约束去掉,数据填好后,再加约束!!
yesyesyes 2005-09-29
  • 打赏
  • 举报
回复
如果你的表已经有很多记录,你即使加了默认值,还是违反了unique约束
iwl 2005-09-28
  • 打赏
  • 举报
回复
提示信息很明白了,因为你要键唯一的约束,如果你这是新的表那么OK,如果有数据你必须补全数据,否则肯定不会成功,建议你给该列一个却省值。
vivianfdlpw 2005-09-28
  • 打赏
  • 举报
回复
alter table table1 add no_id char(5) not null default '' with values
go

--更新no_id列使其没有重复值

alter table table1 add constraint uq_table1 unique(no_id)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧