Tôi muốn thả một bảng nhưng nó được tham chiếu bởi một hoặc nhiều bảng khác. Làm thế nào tôi có thể tìm ra bảng nào đang tham khảo bảng này mà không phải xem từng bảng trong cơ sở dữ liệu từng cái một?MySQL: Làm cách nào để tìm hiểu bảng nào tham chiếu đến một bảng cụ thể?
Trả lời
select table_name
from information_schema.KEY_COLUMN_USAGE
where table_schema = 'my_database'
and referenced_table_name = 'my_table_here';
này hoạt động.
Sử dụng Toad để tải lên và bạn có thể xem các tham chiếu thông qua biểu đồ. cũng đảm bảo rằng bạn không có bất kỳ mã ứng dụng nào vượt qua sql từ giao diện người dùng, việc thả bảng có thể khiến ứng dụng bị hỏng.
Tải về liên kết http://www.toadsoft.com/toadmysql/FreewareDownload.htm
Nếu bạn đang sử dụng InnoDB thử này một SHOW TABLE TÌNH TRẠNG TỪ yourdatabasename THÍCH 'T' http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
Tôi đang sử dụng Linux để công cụ bạn đề xuất sẽ không hoạt động. –
Nếu bạn đang sử dụng InnoDB thử này một SHOW TABLE TÌNH TRẠNG TỪ yourdatabasename LIKE 'T' http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html bảng –
select table_name
from information_schema.referential_constraints
where referenced_table_name = 'parent table here';
Các referential_constraints không tồn tại trong information_schema. Tôi đã tìm kiếm trong cơ sở dữ liệu này cho một câu trả lời nhưng không thể tìm thấy nó. Phiên bản MySQL là 5.0.51a-24-log (Debian) –
Tôi đang sử dụng 5.1.31 –
Nhìn vào bảng KEY_COLUMN_USAGE trong lược đồ iformation_schema.
từ dòng lệnh mysql: chương trình bảng trạng thái
bạn có thể thử MySQL Workbench cho phép bạn trích xuất sơ đồ E.R.. Trong này, bạn có thể tìm thấy tất cả những gì bạn cần về các bảng cơ sở dữ liệu của bạn.
Nếu bạn đã cài đặt phpMyAdmin, bạn có thể sử dụng designer feature để trực quan hóa các mối quan hệ bảng.
Để sử dụng được thiết kế riêng, chọn một cơ sở dữ liệu, sau đó tìm kiếm các thiết kế tab.
http://stackoverflow.com/q/806989 có nhiều phiếu bầu hơn câu hỏi này ... Mặc dù điều này đã được hỏi và trả lời trước đó. – Fr0zenFyr