两个用户同时插入一条数据,
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锁表机制
建议数据库自己的校验机制,就像你的说唯一约束或索引都可以,在应用能够捕获到数据库的报错信息,做相应得的说明就可以了。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号