mysql同一行两个数据不能相同

mysql同一行两个数据不能相同,第1张

从代码层面解决(正确方案) 添加数据时,先检查数据在数据库中是否重复,若没有,则添加这条数据,否则返回添加失败。 缺点:写法太丑,需要对数据库进行两次 *** 作。

2.

设置成两个唯一索引(正确方案) 思路借鉴了这个网站的一对一的中间关系表的解决方案。 将...

3.

删掉中间表,把从表的主键作为主表的外键,并将外键设置成唯一索引(正确方案) 优点:比上个...

4.

设置成一个复合唯一索引(错误方案) 不要设置成复合唯一索引,因为它允许其中的部分

问题原因:

数据表中设置了主键(testers),而主键对应的值是不允许重复的。

错误提示为:你插入的记录与数据表中原有记录的主键重复了(Duplicate)。所以插入失败。

注意:检查表中属性的字段,在添加记录时是否添加了重复值。

解决方案:

把testers设置非主键,`testers` varchar(10) DEFAULT NULL COMMENT '测试人员',

你好,很高兴回答你的问题。

如果是有后端业务代码,为了防止重复数据,可以在逻辑代码中查询是否有重复数据,如果有则不进行插入 *** 作。

如果是需要纯粹的数据库限制,可以创建唯一索引,控制数据不能重复。

如果有帮助到你,请点击采纳。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6888043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存