两个用户同时插入一条数据,
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.添加联合唯一索引,但是程序会报错,感觉不可行。
有其他方法没?
字段加上唯一约束,如果插入不成功,受影响的行肯定是0,MySQLi可以用affected_rows
,PDO可以用rowCount()
拿到受影响的行数,根据这个数进行判断,如果失败,提示用户操作失败即可.
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
那就是每次插入之前都得去查询一下,表中这个num字段是否存在要插入的值;还有考虑到并发到情况。对不!要么用mysql事务;要么mysql锁表机制