mysql - MySQL 外键参考
问题描述
CREATE TABLE ingredient
(
inId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
inName VARCHAR(30),
inSupplier VARCHAR(30),
inPrice double,
inStock INT,
imageFile VARCHAR(100)
);
create table baguette(
inId int not null primary key,
inName VARCHAR(30),
inAmount double,
FOREIGN KEY (inId) REFERENCES ingredient(inId),
FOREIGN KEY (inName) REFERENCES ingredient(inName)
);
当我尝试创建长棍面包时,打印了以下错误。
错误代码:1822。添加外键约束失败。引用表 'ingredient' 中的约束 'baguette_ibfk_2' 缺少索引 0.000 秒
inName 和 inName 的类型不一样吗?我应该怎么做才能解决这个问题?
解决方案
推荐阅读
- azure-application-insights - ApplicationInsights.config 是否需要位于输出目录的根目录中
- node.js - 等待 node.js/express 中的 Google Vision OCR 承诺并返回
- sas - 获取两个特定字符位置之间的字符串
- python - 如何使用 python 格式化我的 json
- android - 在Android中对齐两个视图的垂直中心
- localization - 通过 Typoscript 将翻译添加到 TYPO3 扩展
- asp.net - 使用 ng-include 时 MVC 路由不起作用
- python - Keras 的回调 evaluate_generator
- c++ - 没有堆的两种方式构造对象
- php - 与服务相关的活动正确显示