Câu hỏi phỏng vấn MySQL
Câu hỏi

Khi thêm ràng buộc, điều gì sẽ xảy ra nếu đã có một mục trùng lặp tồn tại?

Câu trả lời

Khi thêm một ràng buộc vào một bảng trong cơ sở dữ liệu SQL, nếu đã tồn tại một mục trùng lặp với ràng buộc đó, hệ thống sẽ không cho phép thêm ràng buộc và sẽ báo lỗi. Điều này đặc biệt đúng với các ràng buộc như UNIQUE, PRIMARY KEY, hoặc FOREIGN KEY, vốn đòi hỏi giá trị trong các cột liên quan phải duy nhất hoặc phải tồn tại trong bảng tham chiếu.

Ví dụ, khi bạn cố gắng thêm một ràng buộc UNIQUE vào một cột đã chứa các giá trị trùng lặp, hệ thống quản lý cơ sở dữ liệu (DBMS) sẽ trả về một thông báo lỗi, thông báo rằng không thể tạo ràng buộc do sự tồn tại của các giá trị trùng lặp[5][11]. Tương tự, khi thêm một ràng buộc PRIMARY KEY vào một bảng mà trong đó đã có các giá trị trùng lặp trong cột (hoặc các cột) được chỉ định làm khóa chính, DBMS cũng sẽ báo lỗi và từ chối thêm ràng buộc[11][16].

Trong trường hợp này, để có thể thêm ràng buộc thành công, bạn cần xóa bỏ hoặc sửa đổi các mục dữ liệu trùng lặp sao cho chúng tuân thủ ràng buộc mới. Điều này có thể đòi hỏi việc xem xét kỹ lưỡng dữ liệu và thực hiện các thay đổi cần thiết trước khi thêm ràng buộc.

Citations:
[1] https://funix.edu.vn/chia-se-kien-thuc/cac-loai-rang-buoc-trong-sql-phan-2/
[2] https://www.sqlservercentral.com/forums/topic/how-to-prevent-insert-duplicate-value-by-check-constraint
[3] https://funix.edu.vn/chia-se-kien-thuc/cac-loai-rang-bu...

middle

middle

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

middle

MySQL hỗ trợ những đối tượng lưu trữ nào khác nhau?

middle

Các kiểu dữ liệu TEXT khác nhau trong MySQL là gì Sự khác biệt giữa TEXT và VARCHAR là gì?

middle

Giải thích lệnh GRANT trong MySQL

Bình luận

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

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