日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL FOREIGN KEY 约束

發(fā)布時(shí)間:2025/7/14 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL FOREIGN KEY 约束 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)表中的 FOREIGN KEY 指向另一個(gè)表中的 PRIMARY KEY。

讓我們通過一個(gè)例子來解釋外鍵。請(qǐng)看下面兩個(gè)表:

"Persons" 表:

"Orders" 表:

請(qǐng)注意,"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 約束用于預(yù)防破壞表之間連接的動(dòng)作。

FOREIGN KEY 約束也能防止非法數(shù)據(jù)插入外鍵列,因?yàn)樗仨毷撬赶虻哪莻€(gè)表中的值之一。

SQL FOREIGN KEY Constraint on CREATE TABLE

下面的 SQL 在 "Orders" 表創(chuàng)建時(shí)為 "Id_P" 列創(chuàng)建 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, ) 如果需要,請(qǐng)使用下面的 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" 列創(chuàng)建 FOREIGN KEY 約束,請(qǐng)使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:
如果需要命名 FOREIGN KEY 約束,以及為多個(gè)列定義 FOREIGN KEY 約束,請(qǐng)使用下面的 SQL 語法:
MySQL / SQL Server / Oracle / MS Access:

撤銷 FOREIGN KEY 約束

如需撤銷 FOREIGN KEY 約束,請(qǐng)使用下面的 SQL:

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

轉(zhuǎn)載于:https://www.cnblogs.com/AmatVictorialCuram/p/4006842.html

總結(jié)

以上是生活随笔為你收集整理的SQL FOREIGN KEY 约束的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。