mql建表 外键

环境: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]

正确的建表语句:
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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值