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

Không thể bỏ bảng:Ràng buộc khóa ngoại không thành công

Điều này sẽ thực hiện thủ thuật:

SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;

Như những người khác chỉ ra, đây gần như không bao giờ là điều bạn muốn, mặc dù đó là những gì được hỏi trong câu hỏi. Một giải pháp an toàn hơn là xóa các bảng phụ thuộc vào bericht trước khi xóa bericht . Xem câu trả lời của CloudyMarble về cách thực hiện điều đó. Tôi sử dụng bash và phương thức trong bài đăng của mình để loại bỏ tất cả các bảng trong cơ sở dữ liệu khi tôi không muốn hoặc không thể xóa và tạo lại chính cơ sở dữ liệu đó.

#1217 lỗi xảy ra khi các bảng khác có ràng buộc khóa ngoại đối với bảng bạn đang cố gắng xóa và bạn đang sử dụng công cụ cơ sở dữ liệu InnoDB. Giải pháp này tạm thời vô hiệu hóa việc kiểm tra các dây hãm và sau đó bật lại chúng. Đọc tài liệu để biết thêm. Đảm bảo xóa các trường và giới hạn khóa ngoại trong bảng tùy thuộc vào bericht , nếu không, bạn có thể để cơ sở dữ liệu của mình ở trạng thái bị hỏng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hướng dẫn về MySQL - Định cấu hình và quản lý SSL trên máy chủ MySQL của bạn

  2. Làm cách nào để thay đổi tất cả các chuỗi trống thành NULL trong bảng?

  3. Nhận Giá trị CŨ trong MySQL Trigger SAU KHI Cập nhật Tuyên bố

  4. Tại sao lại sử dụng các ràng buộc Khoá ngoại trong MySQL?

  5. Giá trị giảm trong mysql nhưng không âm