On delete cascade là gì

Khóa ngoại được dùng để tăng tính tmê say chiếu trong các đại lý dữ liệu SQL Server. Khóa nước ngoài nghĩa là quý giá vào bảng này bắt buộc mở ra vào bảng không giống.

Bạn đang xem: On delete cascade là gì

Bảng tham chiếu điện thoại tư vấn là bảng mẹ, còn bảng cất khóa nước ngoài Hotline là bảng con. Khóa ngoại trong bảng bé hay tham chiếu cho tới khóa chínhPRIMARY KEYtrong bảng chị em.

Khóa ngoại hoàn toàn có thể được tạo thành bởi lệnhCREATE TABLEhoặc lệnhALTER TABLE.

Cú pháp:

CREATE TABLE bang_nhỏ ( cot1 kieudulieu < NULL | NOT NULL >, cot2 kieudulieu < NULL | NOT NULL >, … CONSTRAINT fk_ten FOREIGN KEY (cot_con1, cot_con2, … cot_con_n) REFERENCES bang_me (cot_me1, cot_me2, … cot_me_n) < ON DELETE NO ACTION > < ON UPDATE CASCADE > );

Giải mê say những tyêu thích số trên

bang_con

Tên của bảng con mong mỏi sinh sản.

cot1, cot2

Cột mong muốn chế tác vào bảng. Mỗi cột có 1 nhiều loại dữ liệu, đề xuất được chỉ định là chứa quý giá NULL giỏi NOT NULL, nếu không sẽ mang định là NULL.

fk_ten

Tên của ràng buộc khóa nước ngoài hy vọng tạo thành.

cot_con1, cot_con2, … cot_con_n

Cột trong bang_nhỏ ý muốn tđắm đuối chiếu cho tới khóa chủ yếu vào bang_me.

bang_me

Tên của bảng chị em cất khóa chủ yếu được dùng vào bang_nhỏ.

cot_me1, cot_me2, … cot_me_n

Cột tạo cho khóa thiết yếu trong bang_me. Khóa ngoại sẽ tạo nên ràng buộc thân dữ liệu và những cột cot_con1, cot_con2, … cot_con_n vào bang_bé.

ON DELETE

Tùy lựa chọn. Cho biết sẽ làm gì với dữ liệu nhỏ khi tài liệu bà bầu bị xóa. Có các chắt lọc NO ACTION, CASCADE, SET NULL cùng SET DEFAULT.

ON UPDATE

Tùy chọn. Cho biết đang làm những gì với dữ liệu nhỏ Lúc tài liệu bà bầu được update. Có những chắt lọc NO ACTION, CASCADE, SET NULL và SET DEFAULT.

Xem thêm: Dấu Hiệu Mất Trinh Ở Con Gái Khi Quan Hệ Lần Đầu Là Gì? Màng Trinh Con Gái Được Cấu Tạo Như Thế Nào

NO ACTION

Dùng cùng với ON DELETE hoặc ON UPDATE, tức là ko làm cái gi cùng với tài liệu nhỏ Lúc tài liệu chị em bị xóa hoặc update.

CASCADE

Dùng cùng với ON DELETE hoặc ON UPDATE, nghĩa là dữ liệu nhỏ bị xóa hoặc cập nhật Khi dữ liệu bà bầu bị xóa hoặc cập nhật.

SET NULL

Dùng cùng với ON DELETE hoặc ON UPDATE, tức thị tài liệu bé được đặt là NULL lúc dữ liệu chị em bị xóa hoặc update.

SET DEFAULT

Dùng với ON DELETE hoặc ON UPDATE, nghĩa là tài liệu con được đặt thành giá trị mặc định Khi dữ liệu mẹ bị xóa hoặc cập nhật.

Khóa ngoại Foreign Key (Cascade Delete) trong Squốc lộ ServerKhóa nước ngoài Foreign Key (Set Null) vào SQL Server

ví dụ như :

Chúng ta đang nhì bảng"products" và"inventory". Trong bảng "products" bao gồm khóa chính là"product_id" cũng chính là khóa ngoại trong bảng "inventory".

CREATE TABLE products ( product_id INT PRIMARY KEY, product_name VARCHAR(50) NOT NULL, category VARCHAR(25) ); CREATE TABLE inventory ( inventory_id INT PRIMARY KEY, product_id INT NOT NULL, quantity INT, min_level INT, max_level INT, CONSTRAINT fk_inv_product_id FOREIGN KEY (product_id) REFERENCES products (product_id) ); Kết quả:

*

Tên khóa buộc ràng khóa ngoại trong bảng "inventory"fk_inv_product_id.Nó đang tùy chỉnh thiết lập quan hệ duy trì nhì bảng"inventory" với "products" trên cộtproduct_id.

Chúng ta hoàn toàn có thể kiểm tra 2 bảng:.

*
*

Tạo khóa ngoại áp dụng những trường

Create foreign key with more than one field

Trong ví dụ bên trên bọn họ sản xuất khóa nước ngoài thực hiện một cột, trong ví dụ sau chúng ta sẽ tạo khóa nước ngoài nhiều hơn một trường.

Giờ chúng ta chế tác nhì bảng"products2" "inventory2". Trong ví dụ này bảng "products2"bao gồm khóa đó là nhị cộtproduct_name vàlocation.

Xem thêm: Cách May Váy Ôm Body Đơn Giản, 1906Bc3E31F872Bfad2781F9C40A5478

Do đó, bảng vật dụng nhị bắt buộc có khóa nước ngoài là nhì cột này

Trong ví dụ này, thương hiệu khóa ngoại làfk_inv_hàng hóa tmê mệt chiếu mang lại bảng products bao gồm hai trường: the product_name vàlocation.

CREATE TABLE products2 ( product_name VARCHAR(50) NOT NULL, location VARCHAR(50) NOT NULL, category VARCHAR(25) CONSTRAINT products_pk PRIMARY KEY (product_name, location) ); CREATE TABLE inventory2 ( inventory_id INT PRIMARY KEY, product_name VARCHAR(50) NOT NULL, location VARCHAR(50) NOT NULL, quantity INT, min_level INT, max_level INT, CONSTRAINT fk_inv_hàng hóa FOREIGN KEY (product_name, location) REFERENCES products2 (product_name, location) ); Kết quả:


Chuyên mục: Kiến thức