Câu hỏi phỏng vấn MySQL
Câu hỏ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?

Câu trả lờ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:

  1. 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].

  2. 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

middle

Gợi ý câu hỏi phỏng vấn

middle

Sự khác biệt giữa lệnh create database và create schema trong MySQL là gì?

expert

Đối với thao tác JOIN và INSERT, cái nào tốt hơn - PostgreSQL hay MySQL?

senior

Replication kiểu master-slave trong MySQL là gì? Nó có những ưu điểm gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào