我需要获取有关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';
最佳答案
尝试此查询
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'
关于mysql - 如何获得外键的ON DELETE和ON UPDATE操作值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43773741/