sql >> Databáze >  >> RDS >> Mysql

Cizí klíč s více sloupci v MySQL?

Něco takového by to mělo udělat:

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 vyžaduje indexování cizích klíčů, a proto index v odkazujících sloupcích
  • Použití syntaxe omezení vám umožňuje pojmenovat omezení, což usnadňuje pozdější změny a zrušení v případě potřeby.
  • InnoDB vynucuje cizí klíče, MyISAM nikoli. (Syntaxe je analyzována, ale ignorována)


  1. MySQL, zřetězit dva sloupce

  2. Příliš komplikované zpracování BLOB jdbc Oracle

  3. Jak nasadit databázi Chamilo MySQL pro vysokou dostupnost

  4. Jak spojit dvě tabulky mysql?