sql >> Databasteknik >  >> Database Tools >> MySQL Workbench

Errnr 121, dubblettnyckel vid skrivning eller uppdatering?

Det beror troligen på att du har namngett minst en begränsning med samma identifierare som en kolumn:

/* You already have a column named `restaurant` in this table, 
   but are naming the FK CONSTRAINT `restaurant` also... */
CONSTRAINT `restaurant`
    FOREIGN KEY (`restaurant` )
    REFERENCES `mydb`.`restaurants` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)

Bör använda en annan identifierare för begränsningen som fk_restaurant som i :

CONSTRAINT `fk_restaurant`
    FOREIGN KEY (`restaurant` )
    REFERENCES `mydb`.`restaurants` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)

Och samma sak i food tabell:

  /* Name it fk_food */
  CONSTRAINT `fk_food`
    FOREIGN KEY (`food` )
    REFERENCES `mydb`.`food` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  /* Name it fk_restaurant */
  CONSTRAINT `fk_restaurant`
    FOREIGN KEY (`restaurant` )
    REFERENCES `mydb`.`restaurants` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)

Det är de enda tre jag ser, men det kan finnas andra jag har missat.



  1. Hur man tar bort unik nyckel på ett visst mysql-tabellfält

  2. omdirigera PHP med specifik tid

  3. Importera/exportera databaser från en maskin till en annan

  4. Lagra data MySQL i kurdiskt teckensnitt?