zoukankan      html  css  js  c++  java
  • [DB]添加外键约束出现错误的可能情况

    情景描述:

    做WEB应用的时候用到hibernate,要使用MyEclipse自动生成hibernate的持久化对象PO(POJO及映射文件),需要给字段加外键约束才能生成更好使用的PO。

    于是重新修改数据库,添加外键约束,总报错,使用的是MySql。

    解决办法:

    可能出错原因:

    1.数据库已有数据不符合外键约束(数据的一致性)。所修改的数据库中的已有记录中,存在这样的记录: 待加外键约束的数据库表的字段值为NULL(仅当为NO ACTION时候可以为NULL) 或 对应的引用表的记录不存在。

    例如:contact表存在一条记录的user_id为10,而在user_info表中没有id为10的记录。

    2.外键名称冲突。 每张表的外键名和其他表的外键名不可以重复。

    例如:contact表中存在外键user_id_FK,同时contact_group表中也存在外键user_id_FK就会报错。

    3.外键重设时需要同时删除索引并保存后,重新加外键。

    附:

    contact表结构:

    捕获

    对应外键约束:

    捕获

  • 相关阅读:
    jquery Table基础操作
    window.opener
    CSS基础
    CSS样式
    CSS框架
    常用正则表达式
    HTML字体对应word字体
    SQL获取所有数据库名、表名、储存过程以及参数列表
    SQL集合运算:差集、交集、并集
    sql数据分页
  • 原文地址:https://www.cnblogs.com/wanping/p/2841600.html
Copyright © 2011-2022 走看看