You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在MySQL中如何通过Linux命令行查看外键的ON DELETE引用选项?

查询MySQL外键ON DELETE引用选项的命令行方法

嘿,我来给你捋清楚怎么在Linux命令行里查询MySQL中外键的ON DELETE引用选项(比如Restrict、Set Null、Cascade这些),分两种常用方法:

方法一:通过系统信息表批量查询所有外键规则

这种方法能一次性获取指定数据库里所有外键的ON DELETE设置,步骤如下:

  1. 首先通过命令行登录MySQL:
mysql -u 你的用户名 -p

输入密码后进入MySQL交互环境。

  1. 切换到你要查询的数据库:
USE 你的数据库名称;
  1. 执行查询语句,获取外键的ON DELETE规则:
SELECT 
  TABLE_NAME AS '关联表名',
  COLUMN_NAME AS '外键列名',
  CONSTRAINT_NAME AS '外键约束名',
  REFERENCED_TABLE_NAME AS '被关联表名',
  REFERENCED_COLUMN_NAME AS '被关联列名',
  DELETE_RULE AS 'ON DELETE规则'
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE 
  REFERENCED_TABLE_SCHEMA = '你的数据库名称' 
  AND REFERENCED_TABLE_NAME IS NOT NULL;

这里的DELETE_RULE字段就是你要找的ON DELETE取值,比如RESTRICT、CASCADE、SET NULL或者NO ACTION。

如果只想查询某一张特定表的外键,在WHERE条件里再加一句:

AND TABLE_NAME = '目标表名'

方法二:查看单表的创建语句获取外键定义

如果只关注某一张表的外键设置,可以直接查看表的创建语句,里面会明确写出外键的ON DELETE规则:

  1. 同样先登录MySQL并切换到目标数据库,然后执行:
SHOW CREATE TABLE 目标表名;
  1. 输出结果里的Create Table字段会包含外键约束的完整定义,比如类似这样的内容:

CONSTRAINT fk_user_order FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE ON UPDATE RESTRICT

这里的ON DELETE CASCADE就是该外键的引用选项啦。

内容的提问来源于stack exchange,提问作者ning morris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 15:52:28