问题标签 [mysql-error-1452]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 在 MySQL 中出现 ERROR 1701、ERROR 1452 和 ERROR 1305 错误 - 需要一些专业知识
这是我第一次真正地用第三范式创建数据库。我成功地创建了 DDL 脚本(在我继续构建脚本之前,我已经将逻辑模型验证为 3NF),但是我遇到了很多我不确定修复的错误。对于这个特殊情况,我可能咬得比我能咀嚼的更多,但我不想放弃——这对我来说是一个很大的学习曲线,在一些帮助下,我可以克服这个并继续前进。
首先,这是我的 DDL 脚本:
这是我的 DML 脚本(注意:到目前为止,该脚本仅尝试在“人”、“学校”和“玩家”详细信息中插入记录。如果我到目前为止遇到的问题得到解决,这可以帮助我稍后的..):
这是两个脚本生成的 MySQL 命令行界面的输出 - 将显示有关错误的更多信息:
这是逻辑模型(如果有人发现任何关系存在问题 - 特别是多:多关系,请告诉我)。
如果我提供了太多信息,我深表歉意,但我认为如果我提供了所有这些信息,它会让想要帮助我的人变得更容易。我花了 3 个小时对 DDL 脚本进行调整,但花了这么长时间后,我意识到我需要有更多经验的人来帮助我。我已经向具有数据库行业经验的人展示了这个逻辑模型,他们认为它符合 3NF。做概念模型和逻辑模型对我来说并不是那么糟糕,它试图将逻辑模型转换为工作脚本并成功插入数据(我想为每个表插入至少 10 条记录),这已成为最大的障碍。
提前致谢!
mysql - 我创建了两个表尝试为第二个创建外键,它不起作用,但是当我从第二个创建它时我能够得到它,为什么?
第一个表“A”由 refid(主键)、姓名、性别、年龄、状态组成 第二个表“b”由 refid(主键)和 statename 组成,当我在表 A 中编写查询以引用 B 时,它没有'不起作用,但是当我从表 B 中尝试时它起作用了 1)为什么我无法从表 A 访问?
2)我想知道从A引用它和从B引用它有什么区别?
通过“不工作”,我的意思是我从外键中得到一个错误:
php - Doctrine2 继承 - 1452:违反完整性约束
我在新服务器上部署了我的项目,当我尝试插入具有继承的类时出现错误“SQLSTATE [23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败”:
日志 :
我不知道该怎么做,因为当我在本地主机上执行相同的 INSERT 时错误不会出现。
编辑 我检查“SELECT LAST_INSERT_ID();” 在我的数据库中手动插入一个新的“基础”后,它不返回 0,我不明白。
解决方案这是一个驱动程序问题,我改变它并且它工作。
mysql - 自定义函数调用导致的 MySQL 错误 #1451
我做了一个相当大的函数,有很多选择/更新来用数据填充所有表。刚刚尝试填写表格,但在调用函数时收到 #1452 错误
错误的样子
数据库布局如下所示:
我用来填充表格的函数看起来像
对于那里的所有数据库向导,请多多包涵,我是这个东西的新手,所以这个功能可能有点臃肿。
无论如何,一些研究表明,当有一个外键列指向父表中不存在的行时,就会发生上述错误。奇怪的是我的桌子都是空的。当外键列 - 错误地 - 指向它自己的表时,也可能发生这种情况 - 但这里也不是这种情况(据我了解我阅读的类似问题)。
很烦人的是,我不允许在函数范围内使用 SELECT CONCAT() (用于调试目的),所以我并没有真正了解错误发生的原因/位置,但我认为它会在处理将数据插入到 tunes.riddim_fk 的函数。
我还将riddim_id、genre_id 等(父表的ID)设置为PRIMARY KEY 和AUTO_INCREMENT,现在phpMyAdmin 向我显示这些列的“NULL:否”,即使我没有指定“NOT NULL”。我假设其中一个键是自动将列设置为 NOT NULL。
可能这会导致错误,因为我将 NULL 添加到 ie。riddim_fk 列,如果函数参数“riddim”设置为“”(空字符串)?我假设不像我的实际函数测试调用(如上)我没有将空字符串作为参数传递给函数。
帮助表示赞赏!
编辑:错别字。
mysql - 无法添加或更新子行:外键约束失败 webERp
我在我的 1and1 帐户中使用 WebERP,当我将数据库迁移到另一个 1and1 数据库时,我收到此错误:SQL 查询:
MySQL 说:
但原始文件工作正常。
mysql - MySQL - 无法添加或更新子行:外键约束失败
这似乎是一个常见的错误,但对于我的生活,我无法弄清楚这一点。
我在 MySQL 中有一组 InnoDB 用户表,它们通过外键绑定在一起;父user
表,以及一组存储电子邮件地址、操作等的子表。这些都user
通过外键 绑定到父表,uid
所有父键和子键都是int(10)
。
所有的子表都有uid
一个外键约束指向user.uid
并设置为ON DELETE CASCADE
and的值ON UPDATE CASCADE
。
当我从中删除用户时user
,所有受子约束的条目都将被删除。但是,当我尝试更新一个user.uid
值时,它会导致以下错误,而不是将uid
更改级联到子表:
我有一种感觉,我必须在这里遗漏一些明显的东西。删除键约束user_email
并尝试更新值会user
导致相同的错误,但对于下一个按字母顺序排列的user
子表,所以我不认为这是特定于表的错误。
编辑:
添加来自的结果SHOW ENGINE INNODB STATUS
:
mysql - 抑制 MYSQL 错误 1452
我有一个用来保存每日股票相关数据的表,价格日期是我日历表的外键。日历表列出了不包括周末的所有有效日期。我刚刚获得了 20 年的每日货币兑换数据,而且似乎至少包括一些周末。我已经为所有内容创建了带有插入命令的脚本,知道我会在周末记录中收到错误 1452(表示外键约束失败)。我对此完全没问题,因为 mysql 会尝试插入记录,失败,然后继续。问题是对于所有数千个插入错误,错误消息都会回显到控制台。所有这些额外的标准输出打印大大减慢了我的第一个插入脚本(仅 1 年,至少需要 10 分钟)。
如何抑制此错误消息?请不要说错误消息是“告诉我一些重要的事情”或者我应该“注意它”或者我应该“调试我的脚本”。我确切地知道为什么会出现错误,并且只是想压制它。
sql - 在 mySQL 中使用外键插入值时遇到问题
我为客户和订单创建了如下表格:
我创建了一个名为 Joseph Smith 的客户,如下所示:
我想将 Joseph Smith 的订单插入到“订单”表中,如下所示:
但是,我收到以下错误消息:
希望澄清一下
- 为什么这不起作用和
- 如何真正让它发挥作用。谢谢!
foreign-keys - 尝试使用 heidisql 在 mysql 中添加外键
我一直在尝试使用 heidisql 将外键添加到我的表中,但我不断收到错误 1452。
在阅读之后,我确保我的所有表都在 InnoDB 上运行,并检查它们是否具有相同的数据类型,我可以添加密钥的唯一方法是如果我删除所有我不打算做的数据,因为我有在这上面花了好几个小时。
这是我的表创建代码:
这是表2
最后是创建代码以及错误。
如果还有什么我可以提供的,请让我知道这真的很困扰我。我还在使用 5.5.27 - xampp 安装程序附带的 MySQL 社区服务器 (GPL)。