Mencari Rujukan Kunci Asing dan Nilai Populasi
Dalam skema pangkalan data, adalah perkara biasa untuk mempunyai jadual yang merujuk jadual lain melalui kunci asing. Untuk mengenal pasti jadual dengan kunci asing yang merujuk kepada jadual dan lajur tertentu, serta jadual di mana kunci asing ini mengandungi data, pertanyaan berikut boleh digunakan:
SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'X' AND REFERENCED_COLUMN_NAME = 'X_id';
Pertanyaan ini mendapatkan maklumat daripada jadual KEY_COLUMN_USAGE dalam pangkalan data information_schema, yang mengandungi metadata tentang perhubungan kunci asing. Dengan menapis hasil pada REFERENCED_TABLE_NAME (X) dan REFERENCED_COLUMN_NAME (X_id) yang ditentukan, pertanyaan menyenaraikan semua jadual yang mempunyai kekunci asing yang menghala ke lajur X_id jadual X.
Selain itu, untuk memastikan bahawa hanya jadual dengan asing yang dihuni. kunci disertakan, pertanyaan boleh dikembangkan untuk memasukkan semakan untuk nilai bukan nol dalam bahasa asing lajur kunci:
SELECT t.TABLE_NAME, kcu.* FROM information_schema.KEY_COLUMN_USAGE kcu JOIN information_schema.TABLES t ON t.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND t.TABLE_NAME = kcu.TABLE_NAME WHERE kcu.REFERENCED_TABLE_NAME = 'X' AND kcu.REFERENCED_COLUMN_NAME = 'X_id' ORDER BY t.TABLE_NAME;
Pertanyaan yang dikemas kini ini mendapatkan semula nama jadual bersama-sama dengan metadata kunci asing, memastikan bahawa hanya jadual dengan kunci asing yang diisi disertakan dalam keputusan. Dengan mengisih hasil mengikut nama jadual, output memberikan pandangan yang jelas tentang jadual yang mempunyai rujukan kunci asing kepada jadual dan lajur yang ditentukan, dan jadual mana yang mengandungi data dalam medan kunci asing.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Rujukan Utama Asing dan Nilai Populasinya dalam Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!