A_Miao_shao 2015-01-08 10:07 采纳率: 0%
浏览 2618

mysql存储过程报错,报的联合主键约束错误

Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '5RgwDTn5zeAoPM1yXxeRkm-YUseiccsUNQxcQeBPK3Td3' for key 'PRIMARY' ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: {call pro_read_one (?, ?, ?)} ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '5RgwDTn5zeAoPM1yXxeRkm-YUseiccsUNQxcQeBPK3Td3' for key 'PRIMARY' ; SQL []; Duplicate entry '5RgwDTn5zeAoPM1yXxeRkm-YUseiccsUNQxcQeBPK3Td3' for key 'PRIMARY'; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '5RgwDTn5zeAoPM1yXxeRkm-YUseiccsUNQxcQeBPK3Td3' for key 'PRIMARY'

  • 写回答

2条回答 默认 最新

  • A_Miao_shao 2015-01-08 10:08
    关注

    BEGIN
    DECLARE ISEXIST INT DEFAULT 0;
    DECLARE nextval int DEFAULT 0;

    SELECT COUNT(1) INTO ISEXIST FROM TBL_RES_READ C WHERE C.RES_ID = RID AND C.USER_ID = UID;
    

    IF ISEXIST = 0 THEN
    INSERT INTO TBL_RES_READ(RES_ID, USER_ID, CREATE_DATE) VALUES (RID, UID, NOW());
    END IF;

    call get_next_version('seq_res_version',@next_val);
    

    select @next_val into nextval;

    update tbl_res_user_unread u
    set u.status_new = 0, u.comment_new = 0, u.version = nextval
    where u.res_id = rid and u.user_id = uid;

    SET RES = 1;
    END
    存储过程里面这么写的

    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样