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

MySQL报错#1824:无法打开被引用表'ders'问题咨询

解决MySQL外键错误#1824:Failed to open the referenced table 'ders'

你遇到的错误通常是外键引用的表存在隐性问题,即便确认表已存在,也可以从以下方向排查解决:

  • 核对表名大小写:Linux环境下MySQL默认区分表名大小写,确认ders表的实际名称和SQL中的大小写完全一致,比如是否是Ders或DERS。
  • 确认存储引擎一致性:外键仅支持InnoDB引擎,执行SHOW CREATE TABLE ders;检查ders表的引擎是否为INNODB,若为MyISAM需修改:ALTER TABLE ders ENGINE=INNODB;。
  • 匹配字段属性:ders表的id字段必须是主键或唯一键,且数据类型要和ogrenciler的ders_id完全一致(包括是否无符号、长度等),执行DESCRIBE ders;确认。
  • 指定数据库前缀:如果ders表不在当前操作的数据库中,引用时需加上数据库名,比如REFERENCES your_db.ders(id)。
  • 修复表结构:若ders表存在隐性损坏,可执行ALTER TABLE ders ENGINE=InnoDB;重建表结构(InnoDB表无法用REPAIR命令)。
  • 检查用户权限:确保当前用户拥有ders表的REFERENCES权限,执行SHOW GRANTS FOR CURRENT_USER;查看权限配置。

你的SQL代码:

CREATE TABLE ogrenciler (
    id INT,
    ders_id INT,
    FOREIGN KEY (ders_id)
        REFERENCES ders(id)
        ON DELETE CASCADE
) ENGINE=INNODB;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 06:31:12