Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Chave estrangeira de várias colunas no MySQL?


Algo assim deve fazer isso:
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;
  • O MySQL requer que as chaves estrangeiras sejam indexadas, daí o índice nas colunas de referência
  • O uso da sintaxe de restrição permite nomear uma restrição, facilitando a alteração e eliminação posteriormente, se necessário.
  • O InnoDB impõe chaves estrangeiras, o MyISAM não. (A sintaxe é analisada, mas ignorada)