Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wielokolumnowy klucz obcy w MySQL?

Coś takiego powinno wystarczyć:

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 wymaga indeksowania kluczy obcych, stąd indeks w kolumnach odniesienia
  • Użycie składni ograniczeń umożliwia nazwanie ograniczenia, co ułatwia jego zmianę i usunięcie w późniejszym czasie, jeśli zajdzie taka potrzeba.
  • InnoDB wymusza klucze obce, MyISAM nie. (Składnia jest analizowana, ale ignorowana)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie SQL do usunięcia bazy danych w MySQL

  2. Jak sprawdzić, czy wartość jest liczbą całkowitą w MySQL?

  3. Jak uzyskać ostatni rekord w każdej grupie w MySQL?

  4. 4 sposoby na wyświetlenie listy wszystkich tabel w bazie danych MySQL

  5. Jak usunąć wszystkie znaki niealfanumeryczne z ciągu w MySQL?