SQL高级语句-FOREIGN KEY 约束,确保同一个表或者不同表之间的引用完整性
来源:互联网 发布:linux eclipse 安装 编辑:程序博客网 时间:2024/05/24 00:58
FOREIGN KEY 约束
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
让我们通过一个例子来解释外键。请看下面两个表:
"Persons" 表:
"Orders" 表:
请注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。
"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。
"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
SQL FOREIGN KEY Constraint on CREATE TABLE
下面的 SQL 在 "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY:
MySQL:
CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,PRIMARY KEY (Id_O),FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Orders(Id_O int NOT NULL PRIMARY KEY,OrderNo int NOT NULL,Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)
如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,PRIMARY KEY (Id_O),CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)REFERENCES Persons(Id_P)
)
SQL FOREIGN KEY Constraint on ALTER TABLE
如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE OrdersADD FOREIGN KEY (Id_P)REFERENCES Persons(Id_P)
如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE OrdersADD CONSTRAINT fk_PerOrdersFOREIGN KEY (Id_P)REFERENCES Persons(Id_P)
撤销 FOREIGN KEY 约束
如需撤销 FOREIGN KEY 约束,请使用下面的 SQL:
MySQL:
ALTER TABLE OrdersDROP FOREIGN KEY fk_PerOrders
SQL Server / Oracle / MS Access:
ALTER TABLE OrdersDROP CONSTRAINT fk_PerOrders
0 0
- SQL高级语句-FOREIGN KEY 约束,确保同一个表或者不同表之间的引用完整性
- 数据库基本表创建 完整性约束 foreign Key
- SQL FOREIGN KEY 约束 高级教程
- SQL FOREIGN KEY 约束
- SQL FOREIGN KEY 约束
- SQL FOREIGN KEY 约束
- SQL FOREIGN KEY 约束
- SQL FOREIGN KEY 约束
- SQL FOREIGN KEY 约束
- SQL FOREIGN KEY 约束
- sql server2005 (INSERT 语句与 COLUMN FOREIGN KEY 约束 冲突
- SQL FOREIGN KEY(约束)
- 表的完整性约束
- oracle的完整性约束:check/not null/unique/primary/foreign key
- 无法截断表 'item',因为该表正由 FOREIGN KEY 约束引用。
- 清空数据库错误:因为该表正由 FOREIGN KEY 约束引用 解决办法
- 清空数据库错误:因为该表正由 FOREIGN KEY 约束引用 解决办法
- 清空数据库错误:因为该表正由 FOREIGN KEY 约束引用 解决办法
- 键盘映射
- 前端构建工具gulpjs的使用介绍及技巧
- APP兼容不同的设备之适配不同的系统版本
- spring+slf4j+logback(四)
- 提高篇第一讲项目5-当年第几天
- SQL高级语句-FOREIGN KEY 约束,确保同一个表或者不同表之间的引用完整性
- Thread类
- hook系列——Xposed框架入门(一)
- Oracle之完全卸载
- 安卓面试题总结
- iOS开发-底层篇-Class详解,ios底层-class详解
- JavaScript模块化编程
- gulp+browser-sync使用方法
- CString char* String 之间的转化