mysql语句转换为sqlserver2005语句
alter table order_detail add constraint FK_Relationship_1 foreign key (book_id)
references book (id) on delete restrict on update restrict;
补充:放在sqlserver2005运行一下就知道了,最后restrict附近有语法错误。
追问:你放在sqlserver2005运行一下就知道了,最后restrict附近有语法错误。
答案:SQL Server 的语法如下:
ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
指定如果已创建表中的行具有引用关系,并且被引用行已从父表中删除,则对这些行采取的操作。默认值为 NO ACTION。
NO ACTION
数据库引擎将引发错误,并回滚对父表中行的删除操作。
CASCADE
如果从父表中删除一行,则将从引用表中删除相应行。
SET NULL
如果父表中对应的行被删除,则组成外键的所有值都将设置为 NULL。若要执行此约束,外键列必须可为空值。
SET DEFAULT
如果父表中对应的行被删除,则组成外键的所有值都将设置为默认值。若要执行此约束,所有外键列都必须有默认定义。如果某个列可为空值,并且未设置显式的默认值,则将使用 NULL 作为该列的隐式默认值。
MySQL 里面的 on delete restrict
切换到 SQL Server , 可以切换为 ON DELETE NO ACTION
也可以不写,因为 默认值为 NO ACTION。
其他:表示 没发现啥子 我记得 我用的时候 好像不要改什么
上一个:备忘录的 每周 每月 提醒 数据库(sqlserver)中怎么建表啊?
下一个:在sqlserver中有三个字段:x,y,i;