sql >> Database >  >> RDS >> Mysql

Externe sleutel met meerdere kolommen in MySQL?

Iets als dit zou het moeten doen:

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 vereist dat externe sleutels worden geïndexeerd, vandaar de index op de verwijzende kolommen
  • Gebruik van de beperkingssyntaxis stelt u in staat een beperking een naam te geven, waardoor het gemakkelijker wordt om deze te wijzigen en indien nodig op een later tijdstip te verwijderen.
  • InnoDB dwingt externe sleutels af, MyISAM niet. (De syntaxis is geparseerd maar genegeerd)


  1. DECODE() functie in SQL Server

  2. ik heb een Android-app die gegevens van sqlite ophaalt en de gegevens in BaseAdapter weergeeft .. wat is de beste manier ??

  3. Geavanceerde MySql-query:tabel bijwerken met informatie uit een andere tabel

  4. PostgreSQL Connection Pooling:Deel 2 – PgBouncer