当前位置:数据库 > SQLServer >>

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;

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,