mysql - 如何获得外键的ON DELETE和ON UPDATE操作值?

标签 mysql foreign-keys

我需要获取有关MySQL外部约束的信息。
我需要知道references表、foreign columnconstraint name以及ON DELETE和ON UPDATE操作。
我可以得到references表,foreign columnconstraint name但是需要知道ON DELETEON 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/

相关文章:

mysql - 如果删除了父外键,则将子表中的外键列设置为空

python - Django 和外键

php - Opencart 商店管理员不工作

php - 一个简单的 SQL 请求

android - 使用计时器从 JSON 添加多个标记

postgresql - 多态关联外键约束。这是一个好的解决方案吗?

c# - SQL错误: Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths. Entity Framework 核心

mysql - 特定的MySQL表结构

php - 只允许特殊级别的人登录

python - 如何在 SQLAlchemy 中创建一个包含外键列表的字段?