2014-09-02 22 views
5

Tôi đã cố gắng tìm cách xóa một số khóa ngoại được tạo ra do nhầm lẫn, nhưng mỗi lần tôi DROP bảng được liên kết với khóa ngoại để thử và xóa nó, nó nói " không thể thả chỉ mục: cần thiết trong ràng buộc khóa ngoài ".Xóa các bảng khóa ngoài trên phpmyadmin? không thể thả chỉ mục: cần thiết trong ràng buộc khóa ngoài

+0

Bạn không phải thả bảng để thả chỉ mục. Bạn CÓ THỂ tự mình thả một chỉ mục. Và FYI, "phpmyadmin" không phải là một cơ sở dữ liệu. Đó là một giao diện quản lý cho mysql. –

+0

cảm ơn, tôi đã tìm thấy các chỉ mục và có thể xóa các chỉ mục mà tôi không cần. Không phải là trực tiếp, nhưng tôi đã thấy ánh sáng. Cảm ơn Marc. – PiboRock

Trả lời

5

Bạn phải xóa khóa nước ngoài với một câu lệnh ALTER:

ALTER TABLE yourtable DROP CONSTRAINT yourforeignkeyname 

Bạn có thể có thể để buộc thả nó cũng như (các công trình trong MySQL console nhưng có thể không hoạt động trong phpmyadmin như tôi không đảm bảo các phiên được xử lý như thế nào)

SET FOREIGN_KEY_CHECKS=0; DROP TABLE yourtable; 

Lưu ý: điều này rất nguy hiểm và không được khuyến nghị nếu bạn nghiêm túc sử dụng khóa ngoài.

+0

tốt để biết cảm ơn !! – PiboRock

+1

Cảm ơn! 1, đừng quên đặt lại SET FOREIGN_KEY_CHECKS = 1; –

22

Trong tab "Cấu trúc", nhấp vào "xem chế độ xem quan hệ" bên dưới các trường. Tại đây, bạn có thể xóa khóa ngoài bằng cách chọn một giá trị trống trong trình đơn thả xuống.

Các vấn đề liên quan