摘要:
情景描述:做WEB应用的时候用到hibernate,要使用MyEclipse自动生成hibernate的持久化对象PO(POJO及映射文件),需要给字段加外键约束才能生成更好使用的PO。于是重新修改数据库,添加外键约束,总报错,使用的是MySql。解决办法:可能出错原因:1.数据库已有数据不符合外键约束(数据的一致性)。所修改的数据库中的已有记录中,存在这样的记录: 待加外键约束的数据库表的字段值为NULL(仅当为NO ACTION时候可以为NULL) 或 对应的引用表的记录不存在。例如:contact表存在一条记录的user_id为10,而在user_info表中没有id为10的记录。2.外 阅读全文
posted @ 2013-01-01 21:42
wanpp590
阅读(676)
评论(0)
推荐(0)
摘要:
在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持); 2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显式建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性、完整性和实现一些级联操作;外键的定义语法: [CONSTRAINT ... 阅读全文
posted @ 2013-01-01 21:39
wanpp590
阅读(301)
评论(0)
推荐(0)

浙公网安备 33010602011771号