Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

ปิดใช้งานคีย์ต่างประเทศใน SQL Server

เมื่อคุณสร้างคีย์นอกของ FOREIGN KEY ใน SQL Server แล้ว จะมีบางกรณีที่คุณจำเป็นต้องปิดการใช้งาน จากนั้นใช้คำสั่ง ALTER TABLE

ไวยากรณ์เพื่อปิดใช้งานคีย์ต่างประเทศใน SQL Server

  ALTER TAB LE ten_bang 
NOCHECK C ONSTRAINT fk_ten;

ชื่อตัวแปรหรือค่าตัวแปร

ten_bang

ชื่อของตารางที่สร้างคีย์นอก

fk_ten

ชื่อของคีย์นอกที่คุณต้องการปิดใช้งาน

ตัวอย่างเช่น

  CREATE TABL E sanpham 
( id_sanpham INT PRIMARY KEY,
ten_sanpham VARCHAR(50) NOT NULL,
phan_loai VARCHAR(25)
);

CREATE TABLE hangtonkho
( id_hangtonkho INT PRIMARY KEY,
id_sanpham INT NOT NULL,
soluong INT,
luong_toithieu INT,
luong_toida INT,
CONSTRAINT fk_htk_id_sanpham
FOREIGN KEY (id_sanpham)
REFERENCES sanpham (id_sanpham)
);

ในตัวอย่างนี้ เราได้สร้างตารางพาเรนต์ sanpham พร้อมคีย์หลักรวมถึงฟิลด์ข้อมูล id_sanpham แล้วมีตารางลูกชื่อหางต้นค้อพร้อมกุญแจต่างประเทศที่มีข้อจำกัดในการลบ คำสั่ง CREATE TABLE สร้าง foreign key บนตาราง hangtonkho ชื่อ fk_htk_id_sanpham Foreign Key จะสร้างความสัมพันธ์ระหว่างคอลัมน์ id_sanpham ในตาราง hangtonkho และ id_sanpham ในตาราง sanpham

  1. Foreign Key (Cascade Delete) ใน SQL Server
  2. Foreign Key (Set Null) foreign key ใน SQL Server

ถ้าคุณต้องการปิดการใช้งาน foreign key ที่สร้างขึ้น ให้รันคำสั่งด้านล่าง

  ALTER TABLE hangtonkh o 
NOCHECK CONSTRAINT fk_htk_id_sanpham;

ตัวอย่างข้างต้นใช้คำสั่ง ALTER TABLE เพื่อปิดใช้งานคีย์ต่างประเทศ fk_htk_id_sanpham ที่สร้างขึ้นในตารางหางทอง