我需要获取有关MySQL外部约束的信息。
我需要知道references
表,foreign column
,constraint name
以及ON DELETE和ON UPDATE操作。
我能够获得references
表格,foreign column
和constraint name
,但需要知道ON DELETE
和ON UPDATE
这是我用来获取上述信息的查询
SELECT
referenced_table_name AS `references`
,column_name AS `foreign`
,referenced_column_name AS `on`
FROM
information_schema.key_column_usage AS u
WHERE
referenced_table_name IS NOT NULL AND table_schema = 'test' AND table_name = 'borroweds';
答案 0 :(得分:1)
尝试此查询
SELECT
r.referenced_table_name AS `references`
,r.CONSTRAINT_NAME AS `name`
,r.UPDATE_RULE AS `onUpdate`
,r.DELETE_RULE AS `onDelete`
,u.referenced_column_name AS `on`
,u.column_name AS `foreign`
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS r
INNER JOIN information_schema.key_column_usage AS u ON u.CONSTRAINT_NAME = r.CONSTRAINT_NAME AND u.table_schema = r.constraint_schema AND u.table_name = r.table_name
WHERE u.constraint_schema = 'test' AND u.table_name = 'borroweds'