zoukankan      html  css  js  c++  java
  • Could not execute JDBC batch update; SQL [delete from role where roleId=?]; constraint [null]; neste

    今天在写多个删除功能的时候出现了这么一个错误:意思是删除操作的时候,没有找到对应的外键。

    
    Cannot delete or update a parent row: a foreign key constraint fails (`ssh03`.`role_privilege`, CONSTRAINT `FK45FBD628F05C38CB` FOREIGN KEY (`role_id`) REFERENCES `role` (`roleId`))
    Cannot delete or update a parent row: a foreign key constraint fails (`ssh03`.`role_privilege`, CONSTRAINT `FK45FBD628F05C38CB` FOREIGN KEY (`role_id`) REFERENCES `role` (`roleId`))
    Could not execute JDBC batch update
    Could not execute JDBC batch update; SQL [delete from role where roleId=?]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
    
    
    org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; SQL [delete from role where roleId=?]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

    在网上找了很久,都没有找到对应的错误。。我的删除操作是先查找Role对象,再通过删除它

    后来debug起来又是匪夷所思的:后台能够得到外界传递过来的id

    这里写图片描述

    在查询对象的时候,就死活查不了外键的数据【让我搞了很久很久】。。

    这里写图片描述

    最后发现id上多了一个空格???????至于为什么多了一个空格,,我现在还不知道。。。于是把空格去掉,就解决这个bug了。。。

    
        /*批量删除*/
        public String deleteSelect() {
            for (String s : selectedRow) {
    
                roleServiceImpl.delete(s.trim());
            }
            return "list";
        }
    

    ….如果知道为什么会多出一个空格的,请在评论下告诉我….

  • 相关阅读:
    SQL中UNION的使用
    [转]身份证号准确性检测
    shell中if/seq/for/while/until
    shell中数字、字符串、文件比较测试
    shell简介及变量的定义查看撤销
    grep/字符/次数匹配/锚定符/小大括号/wc/tr/cut/sort/uniq
    linux全局和个人配置文件说明
    linux文件的3个时间和7种文件类型
    linux常用配置文件和命令总结
    目录方式扩展swap分区大小
  • 原文地址:https://www.cnblogs.com/zhong-fucheng/p/7202918.html
Copyright © 2011-2022 走看看