sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué todavía es posible insertar una clave externa que no existe?

Debe definir explícitamente la clave externa debajo de las definiciones de columna.

También debe hacer que product_id no esté firmado ya que la clave principal no está firmada:

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;