当前位置:Gxlcms > PHP教程 > mysql插入问题

mysql插入问题

时间:2021-07-01 10:21:17 帮助过:14人阅读

两个用户同时插入一条数据,
insert into table set name='tom',num=2
insert into table set name='jack',num=2
,但是业务逻辑不允许num值重复出现。
怎么限制mysql不让插入重复数据?
1.添加联合唯一索引,但是程序会报错,感觉不可行。
有其他方法没?

回复内容:

两个用户同时插入一条数据,
insert into table set name='tom',num=2
insert into table set name='jack',num=2
,但是业务逻辑不允许num值重复出现。
怎么限制mysql不让插入重复数据?
1.添加联合唯一索引,但是程序会报错,感觉不可行。
有其他方法没?

使用唯一索引,在插入这个场景中使用事务处理,抛出事务提醒失败有重复值。

程序报错?
你捕获这个对应的异常,然后返回,做一个业务性的说明就可以了。

insert ignore不行吗

那就是每次插入之前都得去查询一下,表中这个num字段是否存在要插入的值;还有考虑到并发到情况。对不!要么用mysql事务;要么mysql锁表机制

建议数据库自己的校验机制,就像你的说唯一约束或索引都可以,在应用能够捕获到数据库的报错信息,做相应得的说明就可以了。

人气教程排行