Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 获取有关约束的完整信息_Mysql_Foreign Keys_Primary Key - Fatal编程技术网

Mysql 获取有关约束的完整信息

Mysql 获取有关约束的完整信息,mysql,foreign-keys,primary-key,Mysql,Foreign Keys,Primary Key,我想创建如下结果的查询: column_name, constraint_name, constraint_type, referenced_table_name, referenced_column_name 我试过这样的东西 SELECT col.column_name, cons.constraint_name, cons.constraint_type,col.referenced_table_name, col.referenced_column_name FROM informat

我想创建如下结果的查询:

column_name, constraint_name, constraint_type, referenced_table_name, referenced_column_name
我试过这样的东西

SELECT col.column_name, cons.constraint_name, cons.constraint_type,col.referenced_table_name, col.referenced_column_name
FROM information_schema.table_constraints cons, information_schema.key_column_usage col
WHERE col.table_name = 'countries'
AND cons.constraint_name = col.constraint_name
AND cons.table_name = col.table_name
但是,我弄错了列名…:(

请帮助我……

选择“列名称”、“约束名称”、“引用的表名称”、“引用的列名称”`
SELECT `COLUMN_NAME`, `CONSTRAINT_NAME`, `REFERENCED_TABLE_NAME`, `REFERENCED_COLUMN_NAME`
FROM `information_schema`.`KEY_COLUMN_USAGE`
WHERE `TABLE_NAME` = 'countries'
AND `CONSTRAINT_NAME` <> 'PRIMARY';
来自'information\u schema'。'KEY\u COLUMN\u用法` 其中`TABLE_NAME`='countries' 和'CONSTRAINT_NAME''PRIMARY';

我不知道
constraint\u type
。我在信息架构中找不到此列。

主键总是有名称“Primary”,外键总是引用表名,因此您可以从一个表中获得该信息-
键列用法

SELECT
  column_name,
  constraint_name,
  CASE
    WHEN constraint_name = 'PRIMARY' THEN 'PRIMARY KEY'
    WHEN referenced_table_name IS NULL THEN 'UNIQUE KEY'
    ELSE 'FOREIGN KEY'
  END constraint_type,
  referenced_table_name,
  referenced_column_name
FROM
  information_schema.key_column_usage;
约束类型类似(主键、外键、唯一键等)