Điều gì xảy ra nếu một hàng cha mà được hàng con tham chiếu đến bị xóa trong trường hợp ràng buộc khóa ngoại?
Điều gì xảy ra nếu một hàng cha mà được hàng con tham chiếu đến bị xóa trong trường hợp ràng buộc khóa ngoại?
Khi một hàng cha mà được hàng con tham chiếu đến bị xóa trong trường hợp có ràng buộc khóa ngoại, có hai hành vi có thể xảy ra tùy thuộc vào cách ràng buộc khóa ngoại được định nghĩa:
CASCADE: Nếu ràng buộc khóa ngoại được đặt với hành vi CASCADE
khi xóa, thì việc xóa hàng cha sẽ dẫn đến việc tự động xóa tất cả các hàng con tham chiếu đến hàng cha đó[1].
SET NULL: Nếu ràng buộc khóa ngoại được đặt với hành vi SET NULL
, khi hàng cha bị xóa, các giá trị trong cột khóa ngoại của hàng con sẽ được đặt thành NULL
, với điều kiện cột khóa ngoại phải được định nghĩa có thể chấp nhận giá trị NULL
[1].
Nếu không có hành vi cụ thể nào được định nghĩa cho ràng buộc khóa ngoại, hệ thống quản lý cơ sở dữ liệu (DBMS) sẽ không cho phép xóa hàng cha để đảm bảo tính toàn vẹn dữ liệu,...
middle
Chưa có bình luận nào