mysql 使用外键 foreign key 时的错误解决
2016-09-24 17:56
585 查看
首先创建了个主表 test_proj
2.然后创建附表 test_info, 字段 testProj_id 使用外键约束
然后问题就来了
原因:
两张表里的主键和外键的字段的数据类型或者数据长度不一样
这里是副表字段 testProj_id 跟 主表的 pid 类型不同,导致错误。
解决办法:在testProj_id INT(3) 后面加 ZEROFILL 约束就可以了。
CREATE TABLE test_proj( pid INT(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT, proj_name VARCHAR(20) )
2.然后创建附表 test_info, 字段 testProj_id 使用外键约束
CREATE TABLE test_info( tid INT(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT, test_time DATE, testProj_id INT(3), stGrade_id INT(3), CONSTRAINT test_info_test_proj_fk FOREIGN KEY(testProj_id) REFERENCES test_proj(pid) ON update )
然后问题就来了
<e>查询:CREATE TABLE test_info( tid INT(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT, test_time DATE, testProj_id INT(3) , stGrade_id INT(3),... 错误代码: 1215 Cannot add foreign key constraint
原因:
两张表里的主键和外键的字段的数据类型或者数据长度不一样
这里是副表字段 testProj_id 跟 主表的 pid 类型不同,导致错误。
解决办法:在testProj_id INT(3) 后面加 ZEROFILL 约束就可以了。
相关文章推荐
- 错误外键[经验]MYSQL外键(Foreign Key)的使用--修改(增加)外键方法,外键名不能有重复的
- mysql创建外键错误的解决方法
- MYSQL外键(Foreign Key)的使用(二)
- MYSQL外键(Foreign Key)的使用
- Mysql创建表或外键约束时出现1005错误代码的解决方法
- [经验]MYSQL外键(Foreign Key)的使用--修改(增加)外键方法,外键名不能有重复的
- 如何解决Mysql "发生系统错误2,找不到指定的文件" 的问题(第一次安装使用)
- 关于linux下使用phpmyadmin给mysql表关联外键的问题和解决办法
- MYSQL外键(Foreign Key)的使用
- MYSQL外键(Foreign Key)的使用
- 使用sqlyog远程连接mysql 错误2003 cant connect to mysql 10060/10061 解决方法最强合集
- MYSQL外键(Foreign Key)的使用
- 64位win7下使用C_API编写mysql程序的错误及解决办法记录
- 如何解决DbUnit的Maven插件在执行过程中出现的侵犯外键约束错误(MySQLIntegrityConstraintViolationException)
- MYSQL外键(Foreign Key)的使用
- 安装使用MySQL时一个典型错误的解决、临时记录下
- MYSQL外键(Foreign Key)的使用
- 8、mysql外键(FOREIGN KEY)的简单使用
- mysql外键使用错误字段名称,不能删除或修改字段名
- MYSQL外键(Foreign Key)的使用