mysql - SQL 模式将不会构建 - 对 ')' 附近语法的模糊错误引用
问题描述
我正在学习 mySQL 并遇到了似乎无法修复的语法错误。我收到一条错误消息,指出“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以在第 8 行的 ')' 附近使用正确的语法”第 8 行是state
. 我正在使用 sqlfiddle 和 mySQL 5.6 检查我的代码,其中包含以下内容:
CREATE TABLE `customer` (
`customer_id` int(10) NOT NULL,
`first_name` varchar(20) NOT NULL,
`last_name` varchar(20) NOT NULL,
`address` varchar(150) NOT NULL,
`apartment` int(10) DEFAULT NULL,
`city` varchar(30) NOT NULL,
`state` varchar(30) NOT NULL,
`zip` varchar(10) NOT NULL,
`home_phone` varchar(10) DEFAULT NULL,
`cell_phone` varchar(10) DEFAULT NULL,
`other_phone` varchar(10) DEFAULT NULL,
PRIMARY KEY (`customer_id`)
);
CREATE TABLE `donut` (
`donut_id` int(10) NOT NULL,
`name` varchar(60) NOT NULL,
`description` varchar(150) DEFAULT NULL,
`unit_price` int(4) NOT NULL,
PRIMARY KEY (`donut_id`)
);
CREATE TABLE `order` (
`order_id` int(10) NOT NULL,
`customer_id` int(10) NOT NULL,
`order_date` date DEFAULT NULL,
`handling_notes` varchar(300),
PRIMARY KEY (`order_id`),
FOREIGN KEY (`customer_id`)
);
CREATE TABLE `order_line` (
`order_id` int(10) NOT NULL,
`donut_id` int(10) NOT NULL,
`donut_quantity` int(6) NOT NULL,
PRIMARY KEY (`order_id`, `donut_id`)
);
解决方案
for 语句中的FOREIGN KEY
子句 缺少一个子句。CREATE TABLE
order
REFERENCES
大概你想更换
FOREIGN KEY (`customer_id`)
和:
FOREIGN KEY (`customer_id`)
REFERENCES `customer`
(`customer_id`)
推荐阅读
- ruby - 计算图中从任何给定顶点到另一个顶点的所有可能路径的正确算法是什么?
- reactjs - ReactNative TextInput 更改非动态地获取数据
- javascript - 返回语句在 JavaScript 中是如何工作的?
- react-native - 未连接任何应用程序。向所有 React Native 应用程序发送“devMenu”失败
- python - 具有 L1 正则化的逻辑回归模型
- javascript - 我在哪里可以检查由键盘事件(如 keydown 'tab')触发的浏览器上的默认操作?
- java - 是否建议为 SQS 消费者使用 amazon-sqs-java-messaging-lib 库?
- python-3.x - 在 Python 中使用自定义 x 和 y 轴绘制混淆矩阵?
- javascript - 是否可以在单个/单独的 html 元素中创建统一的列
- android - Camera2 API 不遵守 CONTROL_AE_TARGET_FPS_RANGE