我创建了一个脚本来显示特定表中的外键。
SELECT i.CONSTRAINT_NAME FROM information_schema.TABLE_CONSTRAINTS i
LEFT JOIN information_schema.KEY_COLUMN_USAGE k ON
i.CONSTRAINT_NAME = k.CONSTRAINT_NAME WHERE i.CONSTRAINT_TYPE = 'FOREIGN KEY'
AND i.TABLE_NAME = 'sample';
当我在主机中执行此命令时,它会显示在table
名称为"sample"
的所有数据库中找到的外键约束列表。
但我需要特定的数据库,样本表foreign keys
。
答案 0 :(得分:1)
最后添加
AND i.table_schema = '<the name of your database which is a schema>'
编辑:
将左连接更改为
LEFT JOIN information_schema.KEY_COLUMN_USAGE
ON i.CONSTRAINT_NAME = k.CONSTRAINT_NAME AND
i.TABLE_SCHEMA = k.TABLE_SCHEMA
因为您可以在不同的模式中找到具有相同名称的约束。
答案 1 :(得分:0)
在运行此查询之前需要选择数据库。以下可能会有所帮助。
USE YourDatabaseName
SELECT i.CONSTRAINT_NAME
FROM information_schema.TABLE_CONSTRAINTS i
LEFT JOIN information_schema.KEY_COLUMN_USAGE k
ON i.CONSTRAINT_NAME = k.CONSTRAINT_NAME
WHERE i.CONSTRAINT_TYPE = 'FOREIGN KEY'
AND i.TABLE_NAME = 'sample'