内网系统,单号在提交时有做防重复判断,但是相同单号提交一次变成两次。
内网系统,
服务端php+mysql
数据表字段的值在写入时php中有做判断,正常提示相同的单号不可能会重复插入数据的,但是有时候人家操作时明明只提交了一次,但是发现数据一模一样且同一时间同一秒写入了两条。
那位大侠知道怎么回事呀。
------解决方案--------------------
秒并发问题。
例如有两次请求a,b同时到达
ab,都过了判断是否重复那个位置,然后当a插入后,b都会跟着插入。
可以这样写来避免重复插入。
例如test表有两个字段 name,value
insert into test(name, value) select 'fdipzone', '123' from dual where 'fdipzone' not in (select name from test);