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

Errno 121, dubbele sleutel bij schrijven of bijwerken?

Dit komt waarschijnlijk omdat u ten minste één beperking met dezelfde identifier als een kolom hebt genoemd:

/* 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)

Moet een andere ID gebruiken voor de beperking, zoals fk_restaurant zoals in :

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

En hetzelfde in het food tafel:

  /* 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)

Dat zijn de enige drie die ik zie, maar er kunnen er nog zijn die ik heb gemist.



  1. Geregistreerde servers maken via Powershell in SSMS

  2. SQL Server Management Studio starten op Windows 7

  3. Hoe verleen ik mezelf beheerderstoegang tot een lokale SQL Server-instantie?

  4. Hoe alle records uit de tabel te selecteren, behalve de laatste 100