Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQL - mã lỗi 1005 với số lỗi 121

Lỗi 121 có nghĩa là có lỗi ràng buộc khóa ngoại. Vì bạn đang sử dụng InnoDB, bạn có thể sử dụng SHOW ENGINE INNODB STATUS sau khi chạy truy vấn không thành công để nhận được giải thích trong LATEST FOREIGN KEY ERROR tiết diện. Sau khi tự chạy SQL của bạn, tôi nhận được điều này:

------------------------
LATEST FOREIGN KEY ERROR
------------------------
101210 14:55:50 Error in foreign key constraint creation for table `regula`.`Reservation`.
A foreign key constraint of name `regula`.`prjId`
already exists. (Note that internally InnoDB adds 'databasename'
in front of the user-defined constraint name.)
Note that InnoDB's FOREIGN KEY system tables store
constraint names as case-insensitive, with the
MySQL standard latin1_swedish_ci collation. If you
create tables or databases whose names differ only in
the character case, then collisions in constraint
names can occur. Workaround: name your constraints
explicitly with unique names.

Về cơ bản, bạn cần đặt tên cho ràng buộc prjId của mình một tên duy nhất trong bảng cuối cùng. Ràng buộc / tên khóa ngoại là chung cho một cơ sở dữ liệu, vì vậy chúng không thể được sử dụng lại trong các bảng khác nhau. Chỉ cần thay đổi

cuối cùng
  CONSTRAINT `prjId`

đến

  CONSTRAINT `prjId2`


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo MySQL máy chủ liên kết

  2. Cách biết kết quả từ bảng nào khi sử dụng UNION trong MySQL

  3. Trợ giúp SQL | Danh sách chọn cho câu lệnh INSERT chứa ít mục hơn danh sách chèn

  4. Theo dõi bảng MySQL để biết các thay đổi trong chương trình C #?

  5. Làm cách nào để xuất kết quả truy vấn MySQL ở định dạng CSV?