环境:Toad for mysql
建表错误信息:
Database Error: Can't create table 'sc17_trunk.tbl_pc_remote_svc' (errno: 150)
分析原因 :
[color=red]1.外键和被引用外键类型不一样,比如integer和double
2.找不到要被引用的列 (这种情况)
3.表的字符编码不一样
注:联合主键做外键的时候要一起使用
例如:foreign key(c2,c3) references parent(c1,c2));
[/color]
正确的建表语句:
建表错误信息:
Database Error: Can't create table 'sc17_trunk.tbl_pc_remote_svc' (errno: 150)
分析原因 :
[color=red]1.外键和被引用外键类型不一样,比如integer和double
2.找不到要被引用的列 (这种情况)
3.表的字符编码不一样
注:联合主键做外键的时候要一起使用
例如:foreign key(c2,c3) references parent(c1,c2));
[/color]
正确的建表语句:
CREATE TABLE `tbl_pc_remote_svc` (
`remote_svc_id` int(11) NOT NULL AUTO_INCREMENT,
`data_svc_id` varchar(64) NOT NULL,
`edx_service_id` varchar(64) NOT NULL,
`created_dt` datetime DEFAULT NULL,
`created_by` varchar(32) DEFAULT NULL,
`updated_dt` datetime DEFAULT NULL,
`updated_by` varchar(32) DEFAULT NULL,
`dpl_version` int(11) DEFAULT NULL,
PRIMARY KEY (`remote_svc_id`),
KEY `tbl_pc_remote_svc_fk1` (`data_svc_id`),
KEY `tbl_pc_remote_svc_fk2` (`edx_service_id`),
CONSTRAINT `tbl_pc_remote_svc_fk1` FOREIGN KEY (`data_svc_id`) REFERENCES `TBL_PC_DATA_SVC` (`data_svc_id`),
CONSTRAINT `tbl_pc_remote_svc_fk2` FOREIGN KEY (`edx_service_id`) REFERENCES `TBL_PC_EDX_SERVICE` (`service_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;