sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor er det stadig muligt at indsætte en fremmednøgle, der ikke eksisterer?

Du bør udtrykkeligt definere fremmednøglen under kolonnedefinitionerne.

Du bør også gøre product_id usigneret, da den overordnede nøgle er usigneret:

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. Hvordan får man elementer med et unikt nummer fra et json-array i PostgreSQL?

  2. Hvordan bruger man AES_ENCRYPT korrekt?

  3. Postgres pg_try_advisory_lock blokerer alle poster

  4. Kan jeg gendanne en enkelt tabel fra en fuld mysql mysqldump-fil?