mysql - 语句的意外开头(prod_id)
问题描述
CREATE TABLE product
(
product_id int primary key,
product_name varchar(50) NOT null,
category varchar(50)
);
CREATE TABLE orders
(
ORDER_id int primary key,
prod_id int NOT null,
quantity INT
)
CONSTRAINT fk_product_id
FOREIGN KEY (prod_id)
REFERENCES product (prod_id)
);
解决方案
约束应该是表定义的一部分:
CREATE TABLE orders (
ORDER_id int primary key,
product_id int NOT null,
quantity INT,
CONSTRAINT fk_product_id
FOREIGN KEY (product_id) REFERENCES product(product_id)
);
请注意,我将列命名为product_id
并修复了对的引用product
。如果可能,我喜欢使用相同名称的外键和主键。
您也可以ALTER TABLE
在表定义之后使用它来定义它。
推荐阅读
- python - PYTHON 为什么extend() 改变我原来的变量?
- json - 有没有办法在没有模式注册表的情况下使用融合的 Kafka Dotnet JSON 序列化程序,
- r - map_dbl 返回一个数值矩阵
- html - 仅用新数据 CSS 使 HTML 表格向下扩展
- servlets - 访问应用程序服务时出现 503 Service Unavailable 错误
- google-apps-script - 重命名通过 Google 表单收集的 Google Drive 中的文件
- python - 如何使用默认消息让我的 Chatterbot 回复?
- netlogo - 根据收入水平更改补丁的颜色
- reactjs - 忽略错误 className 与 Gatsby 中的服务器和客户端不匹配
- sql-update - 设置 updateStrategy = FieldStrategy.IGNORED 无效