Home >Backend Development >PHP Tutorial >内网系统,单号在交付时有做防重复判断,但是相同单号提交一次变成两次

内网系统,单号在交付时有做防重复判断,但是相同单号提交一次变成两次

WBOY
WBOYOriginal
2016-06-13 11:52:161121browse

内网系统,单号在提交时有做防重复判断,但是相同单号提交一次变成两次。
内网系统,
 服务端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);

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn