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

Por que ainda é possível inserir uma chave estrangeira que não existe?


Você deve definir explicitamente a chave estrangeira abaixo das definições de coluna.

Você também deve tornar o product_id não assinado, pois a chave pai não é assinada:
CREATE TABLE orders (
  id integer PRIMARY KEY auto_increment,
  product_id integer unsigned,
  quantity integer,
  INDEX product_id_idx (product_id),
  CONSTRAINT FK_ORDER_TO_PRODUCT FOREIGN KEY (product_id) REFERENCES products (id)
 ) engine=innodb;