【发布时间】:2018-04-24 22:28:22
【问题描述】:
我有一个 sql 脚本可以在我的数据库上运行,其中包含一个用户表和一个订单表。用户表部分工作正常,当我尝试将外键作为订单表的一部分时出现问题。
这是我的脚本:
CREATE TABLE `orders` (
`id` int(11) NOT NULL,
`order_id` INT(11) NOT NULL AUTO_INCREMENT,
`Heigth` INT(11),
`Width` INT(11),
`Length` INT(11),
`status` BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (`order_id`),
foreign key (`id`) references `users`(`id`)
) ENGINE=INNODB AUTO_INCREMENT=4 DEFAULT CHARSET=LATIN1;
insert into `orders` values
(1, 1, 5, 6 ,7, true),
(2, 2, 234, 234, 4, false);
这是我得到的错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查
与您的 MySQL 服务器版本相对应的手册
''order_id' 附近使用的语法),
外键 ('id') 引用 users('id')
) ENGINE=INNODB AU' 在第 8 行
错误 1146 (42S02):表 'useradmin.orders' 不存在
这是怎么回事?由mysql工作台自动生成
【问题讨论】:
标签: mysql error-handling