MySQL创建表时出现错误1022

2024-03-21

MySQL Workbench 使用以下 SQL 来创建表:

CREATE  TABLE IF NOT EXISTS `mydb`.`errors_reports` (
   `error_id` INT NOT NULL ,
   `report_short` VARCHAR(15) NOT NULL ,
PRIMARY KEY (`error_id`, `report_short`) ,
INDEX `error_id_idx` (`error_id` ASC) ,
INDEX `report_short_idx` (`report_short` ASC) ,
CONSTRAINT `error_id`
   FOREIGN KEY (`error_id` )
   REFERENCES `mydb`.`errors` (`error_id` )
   ON DELETE NO ACTION
   ON UPDATE NO ACTION,
CONSTRAINT `report_short`
   FOREIGN KEY (`report_short` )
   REFERENCES `mydb`.`reports` (`report_short` )
   ON DELETE NO ACTION
   ON UPDATE NO ACTION)
ENGINE = InnoDB

这对我来说看起来不错,而且我的数据库中还有很多其他非常相似的表,MySQL 非常乐意创建这些表。

但这一个...

ERROR 1022 (23000): Can't write; duplicate key in table 'errors_reports'

我一生都看不到这里有任何重复的钥匙。仅定义了一个键!

我正在运行带有全新默认安装的 MySQL 5.6。错误日志里什么也没有。

Ideas?

编辑:通过消除过程(回到表的最简单的定义,然后逐渐添加位),问题似乎是这样的:

CONSTRAINT `error_id`
    FOREIGN KEY (`error_id` )
    REFERENCES `mydb`.`errors` (`error_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,

这特别奇怪,因为在其他几个表定义中有相同的代码,而且这些都完全没问题!


问题是name of a 外键不可能是the same as 另一个外键在整个模型中。

想象一下这种情况

目录 --> 供应商

产品 --> 供应商

如果供应商表目录中的外键名称是“供应商”,并且您在产品表中分配了相同的名称,则外键名称将“冲突”。

你需要以不同的方式命名它们..

例如:

目录供应商 产品供应商

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL创建表时出现错误1022 的相关文章

  • Android-数据在微调器中分配,但选择时不显示微调器中的值

    Problem我正在使用 Retrofit 从 mysql 获取一些产品类别 数据即将到来并在微调器中分配 但是当我选择一个项目时 它不会显示 在下拉菜单中 项目已分配 并且 setOnItemSelected 侦听器也正在工作 但所选项目
  • 匹配 MySQL 中单词/后缀的相似/变体

    我如何匹配 MySQL 中单词的变体 例如搜索 accountancy 应匹配 accountant accountants accounting 等 我使用共享主机 因此无法向 MySQL 添加任何功能 例如 levenshtein 我想
  • 用于 MySQL 全文搜索的转义字符串

    我正在使用 Laravel 4 并设置了以下查询 if Input get keyword keyword Input get keyword search DB connection gt getPdo gt quote keyword
  • Laravel 查询生成器 - 高级条件子句(可选参数)

    我需要带有接受可选参数的查询生成器的子句 例如 请考虑以下情况 我们有三个搜索字段 产品标题 公司名称和位置 邮政编码 城市或州 2 3 8 种可能性 该位置与 OR 连接 WHERE location postal code LIKE O
  • 从 MySQL 转储中删除 DEFINER 子句

    我有一个数据库的 MySQL 转储 其中有 DEFINER 子句 如下所示 DEFINER root localhost 也就是说 这些 DEFINER 子句位于我的 CREATE VIEW 和 CREATE PROCEDURE 语句中 有
  • 在mysql中使用GROUP BY时,如何选择最长的文本字段,如MAX()?

    在 MySql 中 您可以使用MAX 使用时获得最高值的函数GROUP BY 我怎样才能做同样的事情来获得最长的文本字符串 样本表 id post id title body 1 ZXBF1J Favorite Color My favor
  • 无法使用php连接到远程数据库

    我在 Windows 中安装了 Xampp 并且正在使用 Laravel 5 3 创建一个应用程序 我正在尝试在本地网络上的另一台服务器上执行查询 但是当我尝试这样做时 MySql 服务器使用以下命令对本地服务器上的用户进行身份验证 use
  • MySQL存储过程错误意外字符“:”

    我有以下语句来创建存储过程 但我不断收到 位置 835 处出现意外字符 错误 语句中唯一的冒号位于 start loop 循环中 为什么我会收到此错误以及如何修复 DELIMITER CREATE DEFINER root localhos
  • 如何使用Query备份MySQL数据库?

    我们如何使用 Query 备份 MySQL 数据库 就像我们可以使用以下 Query 备份 MS SQL 一样 Query backup database DATABASENAME to disk PATH 使用 mysqldump php
  • SQL Server 与 MySQL:CONTAINS(*,'FORMSOF(THESAURUS,word)')

    我很震惊 当我在 SQL Server 中看到查询非常简单时 我花了 3 4 天弄清楚如何在 mysql 中实现词干提取 和同义词搜索 Select from tab where CONTAINS FORMSOF THESAURUS wor
  • MongoDB 聚合查询与 MySQL SELECT field1 FROM 表

    我对 MongoDB 完全陌生 想要比较 NoSQL 数据模型相对于关系数据库对应部分的查询性能 我将其写入 MongoDB shell Make 10 businesses Each business has 10 locations E
  • 错误 1045 (28000) 用户“root”@“localhost”访问被拒绝(使用密码:YES)

    请原谅我是一个完全的初学者 我正在尝试使用 cmd 行登录到我在 Windows 计算机上使用 easyPHP 安装的第一个 mySQL 数据库 我将进入 mysql bin 并输入命令 mysql u root 为了登录 但我收到以下消息
  • 选择给定日期范围内的所有月份,包括值为 0 的月份

    我正在尝试编写一个 MySQL 查询来获取给定日期之间所有月份的每月平均值 我的想法是这样的 查询 类似 SELECT AVG value1 as avg value 1 AVG value2 as avg value 2 MONTH sa
  • MySQL 相当于 ORACLES 的rank()

    Oracle 有 2 个函数 rank 和dense rank 我发现它们对于某些应用程序非常有用 我现在正在 mysql 中做一些事情 想知道他们是否有与这些相同的东西 没有什么直接等效的 但你可以用一些 不是非常有效的 自连接来伪造它
  • 用户反馈系统的正确数据库模型(一个有趣的案例)

    我正在使用 PHP 和 Yii Framework 开发一个应用程序 我一直在考虑最适合给定功能的数据库结构 这就是我的想法 但我并不是 100 肯定应该这样做 因此我决定询问社区 应用程序说明 注册用户可以参加活动 每个事件都可以有一个
  • MySQL如何获取可能重叠日期的开始/结束日期之和

    我有一个开始 结束日期表 我想按 id 对其进行分组并对每个 id 的总时间进行求和 例如 fk id start end 3 2014 03 21 10 02 2014 05 01 08 05 3 2014 06 05 05 00 201
  • MySQL 的 read_sql() 非常慢

    我将 MySQL 与 pandas 和 sqlalchemy 一起使用 然而 它的速度非常慢 对于一个包含 1100 万行的表 一个简单的查询需要 11 分钟以上才能完成 哪些行动可以改善这种表现 提到的表没有主键 并且仅由一列索引 fro
  • PhpStorm Docker PHPUnit 数据库

    I setup https blog jetbrains com phpstorm 2016 11 docker remote interpreters PhpStorm PHP PHPUnit 与 Docker 我在 PhpStorm 数
  • 用户登录时如何更新updated_at列?

    我正在尝试更新updated at每次用户登录时 列到当前时间 但我收到以下错误 InvalidArgumentException 找不到四位数年份 数据丢失 PHP input Input all remember Input has r
  • 发送 QUERY 数据包时出错。 PID=9565

    我有两个不同的环境开发和生活几乎都是相同的 但上述 标题中 警告仅在开发模式下发生 在此警告之前 我还收到错误消息 允许的内存大小 268435456 字节已耗尽 这仅发生在开发模式下 使用 PHP 版本 5 6 和 mysql 不是 my

随机推荐

  • 创建多态透镜

    我能够为最后一个字段创建一个镜头 c 在我的数据类型中执行以下操作 LANGUAGE DuplicateRecordFields data X1 a c X1 a a b Int c c data X2 a b c X2 a a b b c
  • 如何在 PyQt 中自定义 QCompleter 弹出窗口?

    我有一些对于 QLineEdit 的 QCompleter 的定制感兴趣的东西 我想让它的行为类似于 Chrome 中的地址 搜索栏 如何限制显示的行数 例如 即使有 15 个匹配项 我也只希望 QCompleter 显示 5 个 如何调整
  • SQLite - 将带有换行符的字符串从csv文件插入数据库

    All 我正在尝试将长文本条目注入 SQLite 数据库的 TEXT 字段中 该文本中有新行 即它跨越多个段落 如果我手动执行 INSERT 我可以显示新行 INSERT INTO LOGENTRY VALUES 5 40 PLACE li
  • 如何截断 .net 中的日期?

    除了 DateTime ctor new DateTime year month day 之外 还有其他方法来截断日期吗 日期时间 日期 http msdn microsoft com en us library system dateti
  • 如何将更多参数传递给令牌端点 Web api 2

    我需要将更多参数传递给令牌端点 如下所示 grant type 密码 用户名 Alice 密码 密码123 peop1 值 Prop2 值 获取令牌 我如何传递这些以及我可以在服务器上哪里获取它们 OAuth2 资源所有者密码流定义了这些参
  • 查找给定文本中的子字符串.. C 程序

    char substring char text int position int length int i j 0 char temp for i position 1 i
  • 无法以json格式将数据从php添加到jqGrid

    你好 StackOverFlow 国家 我正在尝试向 jqGrid 添加信息 该信息是从 MySQL 数据库检索的 我有两个文件 gt index html 和 data php 都在同一目录中 index html 来源 gt
  • SQL |返回最小值 |动态多行

    我需要创建一个查询 仅返回特定列中具有最小值的行 我有这个结果 示例 Name Description Order Name1 A 1 Name1 B 2 Name1 C 3 Name2 A 1 Name2 B 2 Name2 C 3 我想
  • 按字典顺序比较字符串

    我认为如果我在 C 中使用 gt 和 if aa gt bz cout lt lt Yes 这不会打印任何内容 这就是我需要的 但是如果我输入 if aa gt bzaa cout lt lt Yes 这将打印 是 为什么会发生这种情况 或
  • 将 MySQL 列值设置为 NULL 而不是 0 或 '' 对磁盘空间的影响

    我试图了解处理大部分为空的列的最佳方法磁盘空间 and 指数表现 将所有空位放入 NULL 与 对于 varchar text 与 0 对于 int 之间有区别吗 Thanks 不 使用 NULL 不会比空占用更少的空间VARCHAR or
  • Facebook 分享“可点击”网址链接问题

    我在 Facebook 中遇到可点击 url 链接的问题 正如您所看到的 nr 1 不可点击 但 nr 2 和 3 可以点击 有时它是可点击的 有时则不可点击 随机 我想要的是所有共享链接都不像 nr 1 那样 可点击 我怎样才能解决这个问
  • jQuery .slideUp 问题

    slideDown 工作正常 当第二次单击链接时 会再次出现 slideDown 动画 而不是 slideUp 请帮我一下 谢谢 document ready function toggleButton click function if
  • mysqldump 命令中的语法错误

    mysqldump mydatabase lt my path to sqlfile sql 这是我下达的命令 这个语法错误的原因可能是什么 我很确定它是正确的 我正在尝试将 sql 文件加载到我的数据库中 use mysqldump u
  • Scrapy:遇到302时如何停止请求?

    我正在使用 Scrapy 2 4 从 start urls 列表中抓取特定页面 这些 URL 中的每一个可能都有 6 个结果页面 因此我请求全部结果页面 然而 在某些情况下 只有 1 个结果页面 所有其他分页页面都会返回 302 到 pn
  • 在 jQuery 滚动上淡入淡出 div

    我有一些 div 本质上只是彩色矩形来帮助可视化 当我向下滚动页面时 每个矩形应该fadeIn or fadeOut取决于滚动条的位置 不幸的是 它吓坏了 褪色更像是痉挛的频闪灯 我认为最好通过滚动方式通过每个元素的距离来确定不透明度级别
  • ORA-00904: “ID”: 无效标识符

    我正在尝试创建一个带有外键的表 我不断得到ORA 00904错误 我究竟做错了什么 是因为外键的表还没有创建吗 CREATE TABLE ingredients ingredient id number 2 0 ingredient VAR
  • 如何与OBD-II设备通信

    有OBD II类似设备http www rczd com c 2015 Car Diagnostic Tools 0223 41193 html http www rczd com c 2015 Car Diagnostic Tools 0
  • jQuery 验证不工作

    我的代码似乎有问题 validate不起作用 但所有文档都已连接并且工作正常 HTML div h1 Site Name Quote h1 p class quoteError p p class step p div
  • 我可以制作用户特定的 gitignore 文件吗?

    我想更改 gitignore 但并不是团队中的每个人都希望这些更改 用户如何拥有自己特定的 git 忽略文件 您可以使用以下命令创建自己的 gitignore git config global core excludesfile HOME
  • MySQL创建表时出现错误1022

    MySQL Workbench 使用以下 SQL 来创建表 CREATE TABLE IF NOT EXISTS mydb errors reports error id INT NOT NULL report short VARCHAR