为什么这个外键约束的形成不正确?

2024-01-21

我是如何得出这个问题的,其本身就是一堆错误消息。

首先,这是错误消息1452: Cannot add or update a child row: a foreign key constraint fails.

...尝试使用绝对有效的外键插入数据。

现在,我重新创建了表以重复问题并发现了一个新错误,这使我更接近根本原因。

Error Code: 1005. Can't create table `covers` (errno: 150 "Foreign key constraint is incorrectly formed")

以下是表格:

CREATE TABLE IF NOT EXISTS `entities` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `type` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`id`)  )
ENGINE = InnoDB
AUTO_INCREMENT = 100001
PARTITION BY KEY() PARTITIONS 10 ;

CREATE TABLE IF NOT EXISTS `covers` (
  `id` BIGINT(20) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`id`)  ,
  CONSTRAINT `covers-id`
    FOREIGN KEY (`id`)
    REFERENCES `entities` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB ;

它是在 Workbench 中设计的新数据库。正向工程师脚本创建的表没有错误,但它们似乎有问题。

添加来自的输出show engine innodb status

------------------------
LATEST FOREIGN KEY ERROR
------------------------
2016-06-21 17:42:46 7f7ffa000700 Error in foreign key constraint of table `baka`.`IF`:
Create  table `baka`.`IF` with foreign key constraint failed. Referenced table `baka`.`entities` not found in the data dictionary near '
    FOREIGN KEY (`id`)
    REFERENCES `entities` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB'.

我有同样的问题。 我的来源是这些桌子没有相同的引擎。所以我的解决方案是为两个表放置相同的引擎。

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

为什么这个外键约束的形成不正确? 的相关文章

  • MySql 复合索引

    我们使用 MySql 作为我们的数据库 以下查询在 mysql 表 大约 2500 万条记录 上运行 我在这里粘贴了两个查询 查询运行得太慢 我想知道更好的复合索引是否可以改善这种情况 你知道最好的综合指数是什么吗 并建议我这些查询是否需要
  • PLSQL 中的时区转换

    我需要将系统日期和时间转换为特定时区 例如东部时间 我无法假设我当前的时区 如何在plsql中转换它 请帮我 假设你有一个TIMESTAMP WITH TIME ZONE 例如systimestamp 您可以使用AT TIME ZONE句法
  • binary_log_types.h:没有这样的文件或目录

    我正在编译一个小型 mysql C 项目并且 遇到以下错误 C Program Files x86 MySQL MySQL Server 5 7 include mysql com h 22 30 fatal error binary lo
  • Python MySQL 模块

    我正在开发一个需要与 MySQL 数据库交互的 Web 应用程序 但我似乎找不到任何真正适合 Python 的模块 我特别寻找快速模块 能够处理数十万个连接 和查询 所有这些都在短时间内完成 而不会对速度产生重大影响 我想我的答案将是游戏领
  • MySQL 中的类型:BigInt(20) 与 Int(20)

    我想知道两者之间有什么区别BigInt MediumInt and Int是 很明显 它们会允许更大的数量 不过 我可以做一个Int 20 or a BigInt 20 这会让人觉得这并不一定与尺寸有关 一些见解会很棒 只是有点好奇 我一直
  • Access 2013 SQL 中的转换和透视

    如何使用 TRANSFORM 和 PIVOT 函数从第一个表获取第二个表 TABLE 01 Config ID ConfigField ConfigValue 11 Name Basic 11 Version 1 01 11 Owner J
  • MySQL 错误“连接过多”

    我正在将 MySQL 5 0 用于由 GoDaddy linux 托管的网站 我正在对我的网络应用程序进行一些测试 突然我注意到页面刷新速度非常慢 最后 经过漫长的等待 我到达了一个页面 上面写着 MySQL 错误 连接太多 它指向我连接到
  • mysql:谁阿米?

    有没有whoami类似mysql中的函数 我正在从远程主机连接到 mysql 命令行 我不确定我的 IP 地址是否解析为域名 我想看到类似的东西 mysql gt whoami User Host username resolved hos
  • 比较两个表并找到匹配的列

    我有两个表 table1 和 table2 我需要编写一个选择查询 它将列出两个表中存在的列 mysql 我需要为不同的桌子做 一次2个 这可能吗 我尝试使用INFORMATION SCHEMA COLUMNS但我无法做对 SELECT a
  • 保护存储过程

    我想知道是否有一种方法可以对某些用户隐藏存储过程的文本 我正在使用 MySQL 5 1 48 和 Net Connector 6 2 3 以及 Visual Studio 2008 SP1 我在 MySQL 中有两个用户 一个是 root
  • QGIS 和 PostGIS(地图点(美国地图上的纬度和经度以及半径)

    我安装了QGIS和PostGIS 我想在美国地图上以 100 英里为半径显示 200 个点 我已将纬度和经度导入 PostGIS 数据库中 所以我有三个字段 地址 纬度 经度 1 我需要将纬度和经度字段转换为点或几何字段吗 如果是这样怎么办
  • 嵌入定义绑定变量的 Oracle PL/SQL 代码的 Shell 脚本

    如果我运行下面的脚本 我会收到错误SP2 0552 未声明绑定变量 OUTRES 那么 如何定义绑定变量OUTRES以及在哪里定义呢 usr bin bash sqlplus s scott tiger lt lt EOF declare
  • MySQL 存储过程、Pandas 和“执行多个语句时使用 multi=True”

    注意 正如下面 MaxU 所建议的 该问题特定于 mysql connector 如果您使用 pymysql 则不会出现该问题 希望这可以帮其他人省去一些麻烦 使用Python Pandas 和mySQL 根本无法让存储过程返回结果 更不用
  • 表被指定两次作为 INSERT 的目标和单独的数据源

    我做了这个查询 但它给了我错误 就像标题中一样 INSERT INTO data waktu vaksinasi id binatang id vaksin tanggal vaksin status vaksin VALUES 1 1 S
  • 如何使用索引更改表的列?

    我想将带有某些索引的表中 a 列的列大小从 varchar 200 更改为 varchar 8000 我应该如何进行 既然是VARCHAR你正在增加尺寸 然后简单地ALTER TABLE ALTER COLUMN https learn m
  • sql连接一个表中的两个字段

    我有一个预订表 其中有两个人 我想将 person 1 作为一行返回 将 person 2 作为新行返回 但该人的 id 与人员表相关 这是我所得到的 但没有提取预订信息 SELECT people FROM select booking
  • SQL Server:删除具有外键约束的行:事务可以覆盖约束吗?

    我有一些添加了外键约束的表 它们与代码生成一起使用 以在生成的存储过程中设置特定的联接 是否可以通过在事务中调用多个删除来覆盖这些约束 特别是 C 中的 TransactionScope 或者绝对需要级联删除吗 不要使用级联删除 这样可能会
  • 检索前 10 行并对第 11 行中的所有其他行求和

    我有以下查询来检索每个国家 地区的用户数量 SELECT C CountryID AS CountryID C CountryName AS Country Count FirstName AS Origin FROM Users AS U
  • 针对 SqlClient 的 getschema("foreignkeys") 未产生足够的信息

    我需要两个表和两组字段 而不是外键名称和其中一个表名称 有谁知道如何查询SQL Server完整的外键信息 谢谢 这可能是一项复杂的冒险 GetSchema 和 INFORMATION SCHEMA 视图不完整 导致需要直接查询 sys 视
  • 获取直方图数据

    有没有办法在 MySQL 中指定 bin 大小 现在 我正在尝试以下 SQL 查询 select total count total from faults GROUP BY total 生成的数据足够好 但行太多 我需要的是一种将数据分组

随机推荐

  • jqgrid rowattr 不应用类

    我想根据列的值将背景颜色应用于 jqGrid 行的行 但是基本 rowattr 并未将类应用于行 下面是代码 为了简单起见 我删除了需要应用颜色的条件 jQuery employeeSalarysGrid jqGrid height 250
  • Azure 托管代理 - Visual Studio 2017

    我在 Azure 中设置了托管代理来执行 CI 构建 但在构建失败之前的 Visual Studio 构建步骤中收到以下警告 找不到 Visual Studio 版本 15 0 正在寻找最新版本 查看托管代理的文档 它们似乎没有使用 Vis
  • Matplotlib 图例中的字幕

    我正在使用 matplotlib 进行一些绘图 并且有一个图例告诉查看者这些点是用哪些传感器记录的 有多种类型的多个传感器 我希望在图例中添加字幕来告诉观众每组传感器的类型 我有一个可行的解决方案 但它有点像黑客 如下所示 创建图例时 它接
  • has_many 和belongs_to 关联的单选按钮

    我有一个 has many 和 Belongs to 关联 class Link lt ActiveRecord Base has and belongs to many categories belongs to property end
  • 如何在流程中获取函数的返回类型?

    以此为例 const myObj test true type MyType typeof myObj const getValue MyType gt return myObj how to do this type TheReturnT
  • 使用 API 以编程方式在 Azure DevOps Pipeline 中添加和更新测试

    我正在将我们的一个项目转换为使用 Azure DevOps 而不是 AppVeyor 进行 CI 作为构建的一部分 我们使用自定义测试运行器来执行某些测试 在 AppVeyor 中运行时 我们直接从测试运行程序调用 REST API 以通知
  • BroadcastReceiver 尝试在无序广播期间返回结果 - SMS Receiver

    我知道有很多这样的帖子 但没有一个对我有帮助 我的清单声明
  • java中的速率控制

    我正在寻找一个好的解决方案或者可能是一个 API 来解决以下问题 我的应用程序循环执行一项任务 例如发送电子邮件等 我需要将消息的平均速率限制为例如每秒 100 条消息或每最后一分钟 1000 条消息 不 我正在寻找一种算法或 API 来完
  • 如何在 Ansible 中更改和使用每个主机的全局变量?

    我正在尝试编写一个剧本来设置具有多个从服务器的 mysql 主从复制 对于每个从属服务器 我需要访问一个名为 next id 的变量 该变量应该在用于每个主机之前递增 例如 对于第一个从服务器 next id 应为 2 对于第二个从服务器
  • 批量http请求

    有谁知道批量http请求的标准方法 含义 在一次往返中发送多个 http 原子请求 出于性能原因 我们在 REST API 实现中需要这样的机制 这种机制可以显着减少客户端使用 API 所需执行的往返次数 提前致谢 Shay 定义包含客户端
  • 这个图案的名字? (答案:带有双重检查锁定的延迟初始化)

    考虑以下代码 public class Foo private static object lock new object public void NameDoesNotMatter if SomeDataDoesNotExist lock
  • 为什么这个全局变量没有被改变?

    为什么会出现 null 而不是设置为 ajax 调用返回的数据 我忽略的一定是一些简单的事情 var message document ready function fbFetchMessage alert message function
  • 如何从基于 Django 的站点管理任务的停止或重新启动?

    我将在服务器中运行一个脚本 该脚本将自动在数据库中创建模型实例 这个想法是使用无限循环 例如 while True 它将无休止地创建实例 直到我以某种方式停止它 我想使用 Django 从我的网站上很好地检查我的数据库有多大 然后我想停止或
  • DIV 重叠粘性页脚

    我有一个包含其他三个 div 的 div 页眉 内容 页脚 div class note div class header Title div div class content Some content div div class foo
  • fread (data.table) 选择列,如果未找到列则抛出错误

    我正在使用 data tables 将 csv 文件加载到 R 中fread功能 它有一堆我不需要的列 所以select参数就派上用场了 但是 我注意到 如果 csv 文件中不存在 select 中指定的列之一 则 fread 将默默地继续
  • 重新运行时将 Unicode 参数传递给 Windows .bat 文件

    我的 bat 文件如下所示 echo off CD D dp0 if 2 set user USERNAME else set user 2 getFile if 1 set p file Enter file name else set
  • 获取直到特定字符的字符串

    var hello hello how are you var hello2 hello how are you tom 我想删除 符号后面的每个字母 结果应该是 var hello2 hello how are you tom gt he
  • Postman Collection Run 确实会因 setTimeout 调用而暂停

    我在请求的测试部分放置了一个简单的 setTimeout function 10000 调用 当我单独运行该步骤时效果很好 当我执行 Collection Run 时 该步骤就会被执行 并且 Postman 会继续前进而不会暂停 这是设计使
  • HTML5 画布图像在 Chrome 中不可见

    我正在使用 HTML5 画布并在那里放置两个图像 但我面临一个问题 即一个图像已加载并在 chrome 中可见 但另一个图像仅在 mozilla 中可见 但在刷新后 我不知道为什么会发生这种情况 因为我是画布新手 var canvas do
  • 为什么这个外键约束的形成不正确?

    我是如何得出这个问题的 其本身就是一堆错误消息 首先 这是错误消息1452 Cannot add or update a child row a foreign key constraint fails 尝试使用绝对有效的外键插入数据 现在