Masalah:
Anda ingin menemukan nama batasan dalam tabel di MySQL.
Contoh:
Kami ingin menampilkan nama-nama kendala dalam tabel student
.
Solusi:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
Ini hasilnya:
TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
---|---|---|
siswa | KUNCI UTAMA | PRIMER |
mahasiswa | UNIK | nomor_pribadi |
mahasiswa | KUNCI ASING | siswa_ibfk_1 |
mahasiswa | PERIKSA | mahasiswa_chk_1 |
Diskusi:
Gunakan tampilan table_constraints
di information_schema
skema. Tampilan ini berisi banyak kolom, tetapi yang paling penting adalah table_name
, constraint_type
, dan constraint_name
. Kolom table_name memberi Anda nama tabel di mana batasan didefinisikan, dan kolom constraint_name
berisi nama kendala. Kolom constraint_type
menunjukkan jenis kendala:PRIMARY KEY
untuk jenis kunci utama, FOREIGN KEY
untuk jenis kunci asing, UNIQUE
untuk nilai unik, dan CHECK
untuk pemeriksaan kendala. Dalam contoh kami, Anda dapat melihat batasan bernama PRIMARY
untuk kunci utama di student
meja. constraint_type
kolom memberi Anda informasi tentang jenis setiap kendala; untuk kunci utama adalah PRIMARY KEY
.