Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

sự phụ thuộc vòng tròn mysql trong các ràng buộc khóa ngoại

Cách duy nhất để giải quyết vấn đề này (ít nhất là với khả năng hạn chế của MySQL) là cho phép NULL giá trị trong cả hai cột FK. Khi đó, việc tạo người dùng mới với danh tính chính sẽ trông giống như sau:

insert into users (id, primary_identity)
values (1, null);

insert into identities (id, name, belongs_to)
values (1, 'foobar', 1);

update users 
  set primary_identity = 1
where id = 1;

commit;

Hạn chế duy nhất của giải pháp này là bạn không thể buộc người dùng phải có danh tính chính (vì cột cần phải có giá trị rỗng).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu thông tin thẻ tín dụng trong cơ sở dữ liệu MySQL?

  2. Định dạng kết quả của một truy vấn MySQL như thể nó được chạy từ bảng điều khiển

  3. Làm cho mysql_fetch_assoc tự động phát hiện các kiểu dữ liệu trả về?

  4. Kết nối với phiên bản Amazon RDS thông qua phiên bản EC2 bằng MySQL Workbench

  5. MySQL Fire Trigger cho cả Chèn và Cập nhật