sql >> Databasteknik >  >> RDS >> Mysql

Varför är det fortfarande möjligt att infoga en främmande nyckel som inte finns?

Du bör uttryckligen definiera den främmande nyckeln under kolumndefinitionerna.

Du bör också göra product_id osignerat eftersom den överordnade nyckeln är osignerad:

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;


  1. Byt kolumnvärde med samma kolumn i en annan post

  2. MySQL - Att ta reda på vilka index som ska användas och inte fungera som förväntat

  3. Entity Framework/SQL2008 - Hur uppdaterar man automatiskt LastModified-fält för Entities?

  4. Kan inte ansluta till Postgres databas med Bitnami Django stack