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

Khóa ngoại nhiều cột trong MySQL?

Điều gì đó như thế này nên làm điều đó:

CREATE TABLE MyReferencingTable AS (
   [COLUMN DEFINITIONS]
   refcol1 INT NOT NULL,
   rofcol2 INT NOT NULL,
   CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2)
                        REFERENCES OtherTable(col1, col2)
) ENGINE=InnoDB;
  • MySQL yêu cầu các khóa ngoại phải được lập chỉ mục, do đó chỉ mục trên các cột tham chiếu
  • Việc sử dụng cú pháp ràng buộc cho phép bạn đặt tên cho một ràng buộc, giúp bạn dễ dàng thay đổi và loại bỏ sau này nếu cần.
  • InnoDB thực thi khóa ngoại, MyISAM thì không. (Cú pháp được phân tích cú pháp nhưng bị bỏ qua)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truyền một mảng đến một truy vấn bằng mệnh đề WHERE

  2. JSON_ARRAY_APPEND () - Nối Giá trị vào Mảng JSON trong MySQL

  3. Khôi phục cơ sở dữ liệu MySQL từ các tệp vật lý

  4. CHỌN * NƠI KHÔNG TỒN TẠI

  5. Những sai lầm hàng đầu cần tránh trong MySQL Replication