版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39207535/article/details/89244124
这类属于并发问题,简单说,就是同一条数据还没等插入进去就又执行了一遍插入,但是不能进行
并发环境下,向同一张表中插入多条数据(主键自增),如果锁表的话,其他的用户插入时等待一定时间会失败
可以采用以下方法:
1、如果在insert into 语句末尾指定了on duplicate key update,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致重复的问题,则插入新行,跟普通的insert into一样
2、对某个字段做唯一性约束(首先确保这个字段是唯一的)
ALTER TABLE ADD unique(`字段名`);
如果有相同数据插入数据库会报错,这样就能避免出现重复数据了