SQL中创建一个表之后如何添加默认约束和非空约束

来源:百度知道 编辑:UC知道 时间:2024/05/31 20:11:53
列如创建了一个表:
create table lovo(
name varchar(20)
)
之后如何给他添加非空约束和默认约束?

我是这样的:
添加非空约束:alter table lovo
add constraint name_not_null check(name is not null)
不知道对不对,虽然显示命令成功 但是表中列好象没变,在企业管理器中 仍然可以是空值,
而这样: alter table lovo alter column name not null为什么又不对呢?
添加默认约束:
alter table lovo alter column name add constraint name_default default('zhouqiang')
这样为什么不对呢?显示在关键字 'constraint' 附近有语法错误。
问题有点多请谅解哈 呵呵
谢谢大家啊 我的问题已经解决啦 还有个问题就是我看有些书上用的是 alter table lovo modify name default('zhouqiang') 但是我写上去仍然不对 请问是怎么回事呢?

你的语法不对,当然出错,详细语法参阅SQL联机丛书

--添加非空约束
ALTER TABLE LOVO ALTER COLUMN NAME VARCHAR(20) NOT NULL;

--添加默认约束
ALTER TABLE LOVO ADD CONSTRAINT name_default DEFAULT 'zhouqiang' FOR NAME;

alter table lovo alter column name not null为什么又不对呢?
必须是is not null 这是规定的语法

ALTER TABLE [dbo].[lovo] ADD CONSTRAINT [DF_lovo_name] DEFAULT ('zhouqiang') FOR [name]

alter table lovo alter column name varchar(20) not null

CONSTRAINT 表名 DEFAULT ('') FOR 要改的字段就可以了