Heim >Datenbank >MySQL-Tutorial >Wie kann ich alle Fremdschlüssel einer Tabellenspalte anzeigen?
Um alle Fremdschlüssel einer Tabelle oder Spalte anzuzeigen, ist der Befehl referenced_column_name
Erstellen Sie zunächst zwei Tabellen und verknüpfen Sie sie dann mithilfe von Fremdschlüsseleinschränkungen.
Erstellen Sie die erste Tabelle -
mysql> CREATE table ForeignTable -> ( -> id int, -> name varchar(200), -> Fk_pk int -> ); Query OK, 0 rows affected (0.43 sec)
Nachdem Sie die erste Tabelle erfolgreich erstellt haben, erstellen Sie die zweite Tabelle wie folgt -
mysql> CREATE table primaryTable1 -> ( -> Fk_pk int, -> DeptName varchar(200), -> Primary key(Fk_pk) -> ); Query OK, 0 rows affected (0.48 sec)
Jetzt werden beide Tabellen mithilfe des Befehls alter und von Fremdschlüsseln verknüpft Es wurden auch Einschränkungen hinzugefügt. Seine Syntax lautet wie folgt:
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).
Die obige Syntax wird verwendet, um zwei Tabellen wie folgt zuzuordnen:
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
Nun lautet die Syntax zum Anzeigen aller Fremdschlüssel einer Tabelle wie folgt:
Für eine Tabelle:
SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'yourReferencedTableName';
Jetzt Erstellen Sie eine Abfrage mit der obigen Syntax, um alle Fremdschlüssel anzuzeigen. Die Abfrage lautet wie folgt: -
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';
Das Folgende ist die Ausgabe -
+--------------+-------------+-----------------+-----------------------+------------------------+ | 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)
In der Beispielausgabe lautet der Einschränkungsname „constFKPK“ und der Tabellenname „foreigntable“. Für eine Spalte –
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';
gibt eine Abfrage aus, die alle Fremdschlüssel der Spalte unter Verwendung der obigen Syntax anzeigt. Die Abfrage lautet wie folgt Wie folgt: Die von
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';
erhaltene Ausgabe lautet wie folgt:
+--------------+-------------+-----------------+-----------------------+------------------------+ | 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.03 sec)
Das obige ist der detaillierte Inhalt vonWie kann ich alle Fremdschlüssel einer Tabellenspalte anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!