MySQL Workbench
 sql >> Teknologi Basis Data >  >> Database Tools >> MySQL Workbench

Errno 121, kunci duplikat saat menulis atau memperbarui?

Ini kemungkinan karena Anda telah menamai setidaknya satu batasan dengan pengenal yang sama sebagai kolom:

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

Harus menggunakan pengenal yang berbeda untuk batasan seperti fk_restaurant seperti pada :

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

Dan hal yang sama di food tabel:

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

Itu hanya tiga yang saya lihat, tetapi mungkin ada yang lain yang saya lewatkan.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Mysql Workbench Mac OS tidak memiliki alat manajemen dan Impor/Ekspor Data

  2. Apakah pelengkapan otomatis MySQL Workbench berfungsi?

  3. Server MySQL Workbench tidak kompatibel/tidak standar

  4. Mengintegrasikan meja kerja Drool 6 dengan Aplikasi Java

  5. MySQL Workbench mogok saat memulai di Windows