一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

让我们通过一个例子来解释外键。请看下面两个表:

"Persons" 表:

"Orders" 表:

请注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。

"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。

"Orders"   表中的 "Id_P" 列是 "Orders"   表中的 FOREIGN KEY。

Persions表的主键“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),

)
SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
Id_O int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,

)
如果需要,请使用下面的 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),

)

SQL FOREIGN KEY Constraint on ALTER TABLE

如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:

撤销 FOREIGN KEY 约束

如需撤销 FOREIGN KEY 约束,请使用下面的 SQL:

MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders
SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders

转载于:https://www.cnblogs.com/AmatVictorialCuram/p/4006842.html

SQL FOREIGN KEY 约束相关推荐

  1. SQL学习之foreign key约束

    目录 参考源 SQL foreign key 约束 FOREIGN KEY 作用 create table 时的 SQL foreign key 约束 MySQL SQL Server / Oracl ...

  2. SQL语法之FOREIGN KEY 约束

    SQL学习 学习SQL语法 SQL语法 SQL学习 FOREIGN KEY 约束 SQL FOREIGN KEY Constraint on CREATE TABLE SQL Server / Ora ...

  3. SQL FOREIGN KEY

    一个表中的FOREIGH KEY 指向另一个表中的PRIMARY KEY. 通过实例来解释外键.请看下面两个表: 注意: ·"Orders"表中的"P_Id"列 ...

  4. INSERT 语句与 FOREIGN KEY 约束冲突

    接上篇"ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 '' 冲突.该冲突发生于数据库 '',表 '', column ''"的问题, 将目标库中的表数 ...

  5. ALTER TABLE 语句与 FOREIGN KEY 约束“FK_Booking_Hotel“冲突。

    错误:SQL Server 创建数据库表的外键时出错 ALTER TABLE 语句与 FOREIGN KEY 约束"FK_Booking_Hotel"冲突.该冲突发生于数据库&qu ...

  6. 【数据库】ALTER TABLE 语句与 FOREIGN KEY 约束““冲突。该冲突发生于数据库““,表““, column ‘‘。

    摘要:微信搜索[三桥君] 本篇讲述的是在已经创建好表且有数据的情况下,增加 FOREIGN KEY 约束的报错问题 一.问题 当我在一张Student表中增加它的classNo外键,外键参照Class ...

  7. SQLServer之修改FOREIGN KEY约束

    原文:SQLServer之修改FOREIGN KEY约束 使用SSMS数据库管理工具修改FOREIGN KEY约束 1.连接数据库,选择数据表->右键点击->选择设计(或者展开键,选择要修 ...

  8. 新闻发布系统——INSERT 语句与 FOREIGN KEY 约束XXX冲突。该冲突发生于数据库XXX,表XXX, column 'XXX。

    敲"添加新闻"功能模块的时候,如下: 填写了相应的信息后报错:INSERT 语句与 FOREIGN KEY 约束"XXX"冲突.该冲突发生于数据库"X ...

  9. SQL PRIMARY KEY 约束

    SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主 ...

最新文章

  1. 盘点JavaScript函数的基本知识
  2. java影院购票系统开题报告,开题报告-网上电影院购票系统的设计与实现.doc
  3. 图像种类的基本概念整理
  4. python地图标注_Python 给定的经纬度标注在地图上的实现方法
  5. JQuery 快速入门一篇通
  6. E. 2-3-4 Tree
  7. 使用iOS AirPrint 让你的APP轻松实现打印功能
  8. 教务管理系统数据字典mysql_数据库大作业_-教务管理系统
  9. 塑料颗粒行业调研报告 - 市场现状分析与发展前景预测
  10. python绘制爱心_求问怎样用python/python turtle画“心”呢?
  11. 神经网络学习小记录2——利用tensorflow构建循环神经网络(RNN)
  12. 您的美团账户,美团互助未经客户同意自动扣费0.01元是什么情况
  13. mac电脑升级Monterey12.1版之后L2TP连接公司内网后无法正常访问的问题解决
  14. 科技型中小企业认定标准
  15. mysql 多表查询 优化_MySql多表查询优化
  16. AdminLTE2 框架的使用
  17. open write read 函数
  18. 计算机主机干什么,电脑硬盘是干什么用的
  19. 加拿大约克大学计算机本科学费,2021年加拿大约克大学本科留学需要多少学费...
  20. 计算机信息第二册教案,小学信息技术第二册教案

热门文章

  1. GridView中DropDownList联动
  2. weblogic调优的经过
  3. 流利说递交招股书:上半年亏1.8亿 王翌持股27.9%
  4. Springsecurity之AccessDecisionManager
  5. 表中记录查询排序(设置排序规则)
  6. [python] 之all()和any()内置函数
  7. 理科的至尊思想:进制之间的转换
  8. Matlab中plot基本用法
  9. 在51aspx收集的农历日期类
  10. 5. [mmc subsystem] mmc core(第五章)——card相关模块(mmc type card)