Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Cari Jadual dengan Kekunci Asing Merujuk Jadual dan Lajur Tertentu dalam MySQL?

Bagaimanakah Saya Boleh Cari Jadual dengan Kekunci Asing Merujuk Jadual dan Lajur Tertentu dalam MySQL?

DDD
DDDasal
2024-12-17 15:56:15698semak imbas

How Can I Find Tables with Foreign Keys Referencing a Specific Table and Column in MySQL?

Mengenal pasti Jadual dengan Kekunci Asing Merujuk Jadual dan Lajur Tertentu

Untuk menentukan jadual yang merujuk jadual dan lajur tertentu sebagai kunci asing, dan mana antara jadual tersebut mengandungi data sebenar dalam kunci asing tersebut, pertanyaan MySQL berikut boleh digunakan:

SELECT *
FROM information_schema.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'X'
  AND REFERENCED_COLUMN_NAME = 'X_id';

Pertanyaan ini mendapatkan semula maklumat daripada jadual information_schema.KEY_COLUMN_USAGE, yang mengandungi metadata tentang hubungan kunci asing dalam pangkalan data. Dengan menapis pada REFERENCED_TABLE_NAME dan REFERENCED_COLUMN_NAME, pertanyaan mengenal pasti jadual dengan kekunci asing yang menghala ke jadual dan lajur yang ditentukan.

Untuk mengecilkan lagi keputusan dan memastikan bahawa hanya jadual dengan nilai sebenar dalam kunci asing disenaraikan, anda boleh ubah suai pertanyaan seperti berikut:

SELECT *
FROM information_schema.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'X'
  AND REFERENCED_COLUMN_NAME = 'X_id'
  AND TABLE_SCHEMA = 'your_database_name';

Pengubahsuaian ini termasuk penapis tambahan pada TABLE_SCHEMA, yang membolehkan anda menentukan pangkalan data khusus yang ingin anda tanyakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Jadual dengan Kekunci Asing Merujuk Jadual dan Lajur Tertentu dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn