SQL FOREIGN KEY 約束

sql foreign key 約束

foreign key 是指表中某一個字段的取值全部引用另一個表中的 unique key(唯一約束鍵)的值。

foreign key (外鍵)約束主要用來維護兩個表之間數(shù)據(jù)的一致性。

 

讓我們通過一個范例來解釋外鍵。請看下面兩個表:

"persons" 表:

p_id lastname firstname address
1 hansen ola timoteivn 10
2 svendson tove borgvn 23
3 pettersen kari storgt 20

"orders" 表:

o_id orderno p_id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

請注意,"orders" 表中的 "p_id" 列指向 "persons" 表中的 "p_id" 列。

"persons" 表中的 "p_id" 列是 "persons" 表中的 primary key。

"orders" 表中的 "p_id" 列是 "orders" 表中的 foreign key。

foreign key 約束用于預防破壞表之間連接的行為。

foreign key 約束也能防止非法數(shù)據(jù)插入外鍵列,因為它必須是它指向的那個表中的值之一。

 

1. create table 中 foreign key 約束

下面的 sql 在 "orders" 表創(chuàng)建時在 "p_id" 列上創(chuàng)建 foreign key 約束:

mysql:

create table orders
(
o_id int not null,
orderno int not null,
p_id int,
primary key (o_id),
foreign key (p_id) references persons(p_id)
)
相關文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频