0
我已经安装了3个表格。一个是配料。另一个用于Meals,最后一个用于两者之间的连接点。然而,每次我尝试为“meal_fk”设置一个外键时,我都没有定义索引错误,尽管据我所知,它被索引,或者我将它的属性设置为索引。那么我做错了什么?mysqli:无法创建MANY到MANY表吗?
编辑:膳食表
成分
Table Create Table
ingredients CREATE TABLE `ingredients` (
`ingredient_id` int(6) unsigned NOT NULL AUTO_INCREMENT,
`quanity` int(6) NOT NULL,
`package` int(6) NOT NULL,
`item` varchar(50) DEFAULT NULL,
`cost` decimal(18,2) DEFAULT NULL,
`store` varchar(50) DEFAULT NULL,
`reg_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`ingredient_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
MEALS
Table Create Table
meals CREATE TABLE `meals` (
`meal_id` int(6) unsigned NOT NULL AUTO_INCREMENT,
`ingredients` int(6) NOT NULL,
`meal` varchar(50) NOT NULL,
`cost` decimal(18,2) DEFAULT NULL,
`reg_date` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`meal_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
JUNCTION成分膳食
Table Create Table
junction_ingredients_meals CREATE TABLE `junction_ingredients_meals` (
`junction_id` int(6) NOT NULL,
`ingredient_fk` int(6) NOT NULL,
`meal_fk` int(6) NOT NULL,
PRIMARY KEY (`junction_id`),
KEY `ingredient_fk` (`ingredient_fk`,`meal_fk`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
因此,我没有看到MEALS表的图像......它说的索引不存在(我正在寻找餐桌的PK),因为您为杂货店提供的屏幕截图没有“ t显示我可以看到的表的PK或索引... – xQbert
而不是图像,将SHOW CREATE TABLE tablename的输出显示为纯文本。 – Barmar
我在餐桌上添加了。 Barmar:对不起,我是用PHP学习mysqli的新手。这对我来说是第二天。我不明白你的意思是通过show create table tablename。 – Shawn