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

Bagaimana untuk melihat semua kunci asing lajur jadual?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-09-07 20:41:07
ke hadapan
1119 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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).
Salin selepas log masuk

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
Salin selepas log masuk

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';
Salin selepas log masuk

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';
Salin selepas log masuk

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)
Salin selepas log masuk

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';
Salin selepas log masuk

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';
Salin selepas log masuk

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 Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan