具体描述:
客户发了两个请求,根据showAdvice判断是否执行插入或更新操作。第一个showAdvice是true就不执行后面的数据库操作 ,第二个可以执行。两个请求依次而发,应该只执行一次插入操作,但是经常出现执行两次插入操作,而且插入的数据一模一样,在程序中已经做了唯一性校验,但是还是插入了两条同样的记录。求大侠指点请求 数据库操作
客户发了两个请求,根据showAdvice判断是否执行插入或更新操作。第一个showAdvice是true就不执行后面的数据库操作 ,第二个可以执行。两个请求依次而发,应该只执行一次插入操作,但是经常出现执行两次插入操作,而且插入的数据一模一样,在程序中已经做了唯一性校验,但是还是插入了两条同样的记录。求大侠指点请求 数据库操作
获取每个请求,及对应的值:42.121.113.13
获取每个请求,及对应的值:42.121.113.13
获取每个请求,及对应的值:close
showAdvice=true
showResult=true
count:35
获取userId的用户信息:sql检验sql的执行次数:SELECT USER_NAME,SEX,AGE,HEIGHT,WEIGHT,PROFESSION,REGION,SERIALNUMBER,DISEASEHISTORY FROM `belter_userinfo` t WHERE t.`USER_ID`='1754188'
获取每个请求,及对应的值:i.ebelter.com
获取每个请求,及对应的值:42.121.119.90
获取每个请求,及对应的值:42.121.119.90
获取每个请求,及对应的值:close
showAdvice=false
showResult=false
count:36
获取userId的用户信息:sql检验sql的执行次数:SELECT USER_NAME,SEX,AGE,HEIGHT,WEIGHT,PROFESSION,REGION,SERIALNUMBER,DISEASEHISTORY FROM `belter_userinfo` t WHERE t.`USER_ID`='1754188'
search_sql:select ID from belter_weight where USER_ID='1754188' and TEST_DATE='2013-03-14 15:12:41' limit 1
res:0
insert+search_sql:insert into belter_weight (USER_ID, WEIGHT, HEIGHT,SHAREID,TEST_DATE) values('1754188', 71.500000, 170.000000, '0','2013-03-14 15:12:41')
此时记录res:1
search_sql:select ID from belter_weight where USER_ID='1754188' and TEST_DATE='2013-03-14 15:12:41' limit 1
res:0
insert+search_sql:insert into belter_weight (USER_ID, WEIGHT, HEIGHT,SHAREID,TEST_DATE) values('1754188', 71.500000, 170.000000, '0','2013-03-14 15:12:41')
此时记录res:1
SELECT USER_NAME,SEX,AGE,HEIGHT FROM belter_userinfo WHERE USER_ID='1754188'
sex: 0weight: 71.5height: 170.0score:87.0
这是后台的运行日志
(
productCode VARCHAR,
productColor VARCHAR
)
BEGIN
DECLARE con INT;
SELECT COUNT(1) INTO con FROM yt_pro_productcolor WHERE proCode=productCode;
IF con>0 THEN
UPDATE yt_pro_productcolor SET proColor=productColor WHERE proCode=productCode;
ELSE
BEGIN
DECLARE productid VARCHAR(20);
SELECT id INTO @productid FROM yt_pro_productinfo WHERE proCode=productCode;
INSERT INTO yt_pro_productcolor(proId,proCode,proColor)VALUES(productid,productCode,productColor);
END;
END IF;
END
存储过程不能创建,求高手解决:
取值->锁表->判断、处理->写回修改的值->UNLOCK 表
通过锁表->替换值->UNLOAK 表来实现值的变化