[Err] 1005 - Can't create table 'o2o.tb_product' (errno: 150)
来源:2-4 实体类设计与表创建C
慕姐0808215
2017-11-08
[SQL]
CREATE TABLE `o2o`.`tb_product`(
`product_id` INT(100) NOT NULL AUTO_INCREMENT,
`product_name` VARCHAR(100) NOT NULL DEFAULT'',
`product_desc` VARCHAR(2000) DEFAULT'',
`img_addr` VARCHAR(2000) DEFAULT'',
`normal_price` VARCHAR(100) DEFAULT NULL,
`promotion_price` VARCHAR(100) DEFAULT NULL,
`priority` INT(2) NOT NULL DEFAULT'0',
`creat_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
`enable_status`INT(2) NOT NULL DEFAULT '0',
`product_category_id` INT(11) DEFAULT NULL,
`shop_id` int(20) not null DEFAULT'0',
PRIMARY key(`product_id`),
CONSTRAINT `fk_product_procate` FOREIGN KEY(`product_category_id`) REFERENCES `tb_prodcut_category`(`product_category_id`),
CONSTRAINT `fk_product_shop` FOREIGN KEY(`shop_id`) REFERENCES `tb_shop`(`shop_id`)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
[Err] 1005 - Can't create table 'o2o.tb_product' (errno: 150)
3回答
-
慕用6017204
2019-11-26
我写的时候也是这个错,看了下该有的表都有,但还是报这个错。最后索性在创建表的时候不添加外键(可添加主键),等表创建出来后再alter添加,就不报错了。
00 -
翔仔
2017-11-09
同学好,请确保您的外键对应的表以及字段是正确的,咱们商品还关联了好几个表,请确保他们先被创建出来
mysql error Number 1005
can't creat table'/test/#sql-640_1.frm'(errno:150)三种可能问题外键和被引用外键类型不一样,比如integer和double
找不到要被引用的列
表的字符编码不一样
00 -
慕姐0808215
提问者
2017-11-09
我已经找到了
022018-05-29
相似问题
回答 2