SQL FOREIGN KEY အကျုပ်

SQL FOREIGN KEY အကျုပ်

အချက်အလက်တစ်ခုတွင် FOREIGN KEY သည် အချက်အလက်တစ်ခု၏ PRIMARY KEY ကို လိုက်နိုင်သည်

အပိုင်းစံ FOREIGN KEY ကို အောက်ပါ အချက်အလက်တွင် ဖော်ပြပါ

"Persons" အချက်အလက်

Id_P အကြီးအမည် ပထမအမည် လိပ်စာ မြို့
1 အက်ဒလစ် ဂျွန် အော်ဒိုစ်စ် ရဲ လန်ဒန်
2 ဘူရ ဂျော့ ဖော်ချ်းမြို့ နယူးဂျီ
3 ကာတာ တက်သူ ချန်နီးရီး ဘိုင်င်ဂျီ

"Orders" အချက်အလက်

Id_O OrderNo Id_P
1 77895 3
2 44678 3
3 22456 1
4 24562 1

သမိုင်းမှ သတိပြုရသည် "Orders" အချက်အလက်တွင် "Id_P" လိပ် သည် "Persons" အချက်အလက်တွင် "Id_P" လိပ် ကို လိုက်နိုင်သည်

"Persons" အချက်အလက်တွင် "Id_P" လိပ် သည် "Persons" အချက်အလက်တွင် PRIMARY KEY ဖြစ်သည်

"Orders" အချက်အလက်တွင် "Id_P" လိပ် သည် "Orders" အချက်အလက်တွင် FOREIGN KEY ဖြစ်သည်

FOREIGN KEY အပိုင်းစံ သည် အချက်အလက်တွင် ချိတ်ဆက်ခြင်းကို ဖျက်ဆီးခြင်းကို ကာကွယ်ရန် အသုံးပြုသည်

FOREIGN KEY အပိုင်းစံ သည် အချက်အလက်တွင် မမှန်ကန်သော အချက်အလက် ပြုလုပ်ခြင်းကို တားမြစ်နိုင်သည် သို့မဟုတ် သူ့ကို လိုက်နိုင်သော အချက်အလက် တစ်ခု ဖြစ်စေ သည်

CREATE TABLE အောက်မူ FOREIGN KEY အပိုင်းစံ

အောက်ပါ 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),
အပိုင်းစံ (Id_P) ကို ကိုင်းပြီးခဲ့သော အချက်အလက် (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 Orders
ADD FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)

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

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)

撤销 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