Sql 在一条语句中添加多个约束
我应该在Microsoft SQL Server 2012中修改当前名为MEMBER的表 我正在尝试修改这些表Sql 在一条语句中添加多个约束,sql,sql-server,sql-server-2012,constraints,Sql,Sql Server,Sql Server 2012,Constraints,我应该在Microsoft SQL Server 2012中修改当前名为MEMBER的表 我正在尝试修改这些表 ALTER TABLE MEMBER ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID); ADD CONSTRAINT Sys_date DEFAULT GETDATE() FOR MEMBER_ID; 上面这句话不起作用,它说: 味精156,第15级,状态1,第3行 关键字“CONSTRAINT
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID);
ADD CONSTRAINT Sys_date DEFAULT GETDATE() FOR MEMBER_ID;
上面这句话不起作用,它说:
味精156,第15级,状态1,第3行关键字“CONSTRAINT”附近的语法不正确 我想我做错了什么,但我不确定是什么
ALTER TABLE TITLE
ADD CONSTRAINT U_TITLEID UNIQUE(TITLE_ID), primary key (TITLE_ID);
add constraint C_CATEGORY CHECK(CATEGORY='DRAMA' OR 'COMEDY' OR 'ACTION'
OR 'CHILD' OR 'SCIFI' OR 'DOCUMENTARY';
另外:是否可以将上面的代码添加到前面的代码中,并在同一个sql查询中执行这两个代码
如何解决此问题?您有三个问题:
ALTER TABLE MEMBER ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID);
ALTER TABLE MEMBER ADD CONSTRAINT Sys_date DEFAULT GETDATE() FOR MEMBER_ID;
终止语句代码>在第二行代码的末尾
表示成员ID
,对于Sys\u date,它可能应该是
CREATE TABLE Member (MEMBER_ID BIGINT NOT NULL, Sys_date DATETIME);
此DDL将在以下情况下工作:
ALTER TABLE MEMBER
ADD CONSTRAINT U_MEMBERID UNIQUE(MEMBER_ID), primary key (MEMBER_ID),
CONSTRAINT Sys_date DEFAULT GETDATE() FOR Sys_date;
看
从理论上讲,你也可以在屏幕上看到这一点,尽管我承认这些规范可能很难阅读。下面是他们如何解释的一个尝试:
ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
{
ALTER COLUMN column_name
-- Omitted....
| ADD
{
<column_definition>
| <computed_column_definition>
| <table_constraint>
| <column_set_definition>
} [ ,...n ]
-- Omitted....
ALTER TABLE[数据库名称。[模式名称]。|模式名称。]表名称
{
更改列名称
--省略。。。。
|加
{
|
|
|
}[,…n]
--省略。。。。
ADD
关键字只出现一次,}[,…n]
位告诉您可以在{方括号}n
次之间重复该位,以分隔,
最后一位可能是一个问题(“在一个sql查询中可以在不同的表上执行两个DDL语句吗?”)。