首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL工作台错误1452突然停止工作

MySQL工作台错误1452突然停止工作
EN

Stack Overflow用户
提问于 2019-11-30 19:45:22
回答 1查看 67关注 0票数 0

我有两个桌子(顾客和汽车与FK),在一开始一切都很好,我能够插入数据直到ID 7,然后突然它停止工作,给我一个错误1452。试图寻找解决办法,但没有任何帮助。Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`test`.`cars`, CONSTRAINT `personid` FOREIGN KEY (`id`) REFERENCES `customer` (`id`))

下面是桌子:

代码语言:javascript
复制
CREATE TABLE `customer` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lastname` varchar(45) NOT NULL,
  `firstname` varchar(45) NOT NULL,
  `city` varchar(45) NOT NULL,
  `age` varchar(45) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

代码语言:javascript
复制
CREATE TABLE `cars` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `brand` varchar(45) NOT NULL,
  `model` varchar(45) NOT NULL,
  `reg` varchar(45) NOT NULL,
  `personid` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  CONSTRAINT `personid` FOREIGN KEY (`id`) REFERENCES `customer` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-30 20:17:53

我想我找到了问题和解决办法(有点)。

更新现有的AUTO_INCREMENT列值也会重置AUTO_INCREMENT序列.

因此,它停止自动分配id给cars表,只有当我手动添加id时,它才能工作。然后我做了这个:ALTER TABLE tbl AUTO_INCREMENT = 12;,现在似乎正在工作。但仍然不知道它是如何停止工作的,并且不记得更新了现有的AUTO_INCREMENT。不管怎么说,留下这个作为答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59119650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档