Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melihat semua kunci asing lajur jadual?

Bagaimana untuk melihat semua kunci asing lajur jadual?

WBOY
WBOYke hadapan
2023-09-07 20:41:071029semak imbas

Bagaimana untuk melihat semua kunci asing lajur jadual?

Untuk melihat semua kunci asing bagi jadual atau lajur, arahan referenced_column_name ialah

Mula-mula, cipta dua jadual dan kemudian kaitkan dengan bantuan kekangan kunci asing.

Buat jadual pertama -

mysql> CREATE table ForeignTable
-> (
-> id int,
-> name varchar(200),
-> Fk_pk int
-> );
Query OK, 0 rows affected (0.43 sec)

Selepas berjaya mencipta jadual pertama, buat jadual kedua seperti berikut -

mysql> CREATE table primaryTable1
-> (
-> Fk_pk int,
-> DeptName varchar(200),
-> Primary key(Fk_pk)
-> );
Query OK, 0 rows affected (0.48 sec)

Kini kedua-dua jadual itu berkaitan dengan bantuan alter command dan kekunci asing Kekangan juga ditambah. Sintaksnya adalah seperti berikut -

alter table yourFirstTable add constraint anyConstraintName foreign key(column_name which is
acts foreign key in second table) yourSecondTable(column_name which acts primary key in
second table).

Sintaks di atas digunakan untuk mengaitkan dua jadual seperti berikut -

mysql> alter table ForeignTable add constraint constFKPK foreign key(Fk_pk) references
primaryTable1(Fk_pk);
Query OK, 0 rows affected (1.57 sec)
Records: 0 Duplicates: 0 Warnings: 0

Kini, sintaks untuk melihat semua kunci asing jadual adalah seperti berikut -

Untuk jadual -

Nowrreee

buat pertanyaan menggunakan sintaks di atas untuk melihat Semua kunci asing. Pertanyaannya adalah seperti berikut -

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME,
REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'yourReferencedTableName';

Berikut ialah output -

mysql> SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
-> FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-> WHERE REFERENCED_TABLE_NAME = 'primarytable1';

Dalam output contoh, constraint_name ialah "constFKPK" dan table_name ialah "foreignable". Untuk lajur -

+--------------+-------------+-----------------+-----------------------+------------------------+
| TABLE_NAME   | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+--------------+-------------+-----------------+-----------------------+------------------------+
| foreigntable | Fk_pk       | constFKPK       | primarytable1         | fk_pk                  |
+--------------+-------------+-----------------+-----------------------+------------------------+
1 row in set, 2 warnings (0.02 sec)

memberikan pertanyaan yang menunjukkan semua kunci asing lajur menggunakan sintaks di atas. Pertanyaannya adalah seperti berikut Seperti berikut - Output yang diperolehi oleh

SELECT
TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_SCHEMA = 'yourDatabaseName' AND
REFERENCED_TABLE_NAME = 'yourreferencedtablename' AND
REFERENCED_COLUMN_NAME = 'yourreferencedcolumnname';

adalah seperti berikut:

mysql> SELECT
-> TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
-> FROM
-> INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-> WHERE
-> REFERENCED_TABLE_SCHEMA = 'business' AND
-> REFERENCED_TABLE_NAME = 'primarytable1' AND REFERENCED_COLUMN_NAME
= 'fk_pk';

Atas ialah kandungan terperinci Bagaimana untuk melihat semua kunci asing lajur jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam