出现Duplicate entry "1" for key "PRIMARY"怎么解决?

2024-11-25 11:56:44
推荐回答(2个)
回答1:

解决方案:

首先我们用MySQL自带的可视化管理工具MySQL WorkBench打开数据库及表格,出现此问题的主要原因是主键已经有了名为“XXX”的那项,实际上我写的代码并没有重复也会弹出此报错,下面我们看一下我自己的解决方案。

双击红框中选项,填好相应配置,进入后点击如图所示先创建数据库(此操作必须在MySQL已经启动情况下)左下角SCHEMAS底下就是你的数据库名字,先双击拉出TABLE,在TABLE上右键创建新表。

解决方案:

  • 将主键设置为自动增长。可以在数据库手动将相关表设置ID为自增长

  • 手动将表设置为自增长有弊端,建议在annotation里边的POJO类使用注解方式设置自增长。mysql的数据库如图所示设置。

  • 保存执行即可解决问题

  • 查看数据库,果然自增了

回答2:

当我们用navicat工作时,会出现Duplicate entry "1" for key "PRIMARY"的错误,网上有很多解决的办法,我这里有两个解决方法,希望对你们有用。
1,“primary”顾名思义是主键的问题,可以将这张表设为无主键,就是把主键给删了不要了,但是这种方法不怎么好用,存在一些bug,而且大部分数据表都是需要主键的,所以不太推荐大家使用这种方法。
2,因为主键(primary)是唯一的,但我们点击刷新或运行的时候,系统就会认为我们又创建一个主键,导致出错,解决办法:我们可以输入“DELETE FROM Table_name”,delete语句是MySQL常用的删除操作,我们可以用它删除表中的所有记录,delete语句运行之后,这样所有的记录全部删除了,我们可以再重新在设一个主键,就OK了,切记我们不要频繁的点击刷新和运行,要当我们代码写得差不多了,再点击刷新或运行,不然还会出现这种问题,不过用delete语句就可以了,只要你不嫌麻烦就行。
第一次写文章,我是很想帮助大家,仅拼个人理解,第二个方法是和同学们交流学习得来的,所以一些不足之处,希望大家多多担待。谢谢!