首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

mql筑表 外键

2012-07-28 
mql建表 外键环境:Toad for mysql 建表错误信息:Database Error: Cant create table sc17_trunk.tbl_pc_

mql建表 外键
环境:Toad for mysql
建表错误信息:
Database Error: Can't create table 'sc17_trunk.tbl_pc_remote_svc' (errno: 150)
分析原因 :
1.外键和被引用外键类型不一样,比如integer和double
2.找不到要被引用的列 (这种情况)
3.表的字符编码不一样
注:联合主键做外键的时候要一起使用
例如:foreign key(c2,c3) references parent(c1,c2));


正确的建表语句:

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;

热点排行