我可以在mysql中创建我想要的任何表,除了创建这个表之外它都可以工作:
CREATE TABLE product_shop (
product_id INT NOT NULL,
shop_id INT NOT NULL,
PRIMARY KEY (product_id, shop_id),
FOREIGN KEY (product_id) REFERENCES product(id) ON UPDATE CASCADE,
FOREIGN KEY (shop_id) REFERENCES shop(id) ON UPDATE CASCADE
)
我可以创建这个表并且它可以工作:
CREATE TABLE product_category_junction (
product_id INT NOT NULL,
category_id INT NOT NULL,
PRIMARY KEY (product_id, category_id),
FOREIGN KEY (product_id) REFERENCES Product(id) ON UPDATE CASCADE,
FOREIGN KEY (category_id) REFERENCES Category(id) ON UPDATE CASCADE
)
或任何其他表格。即使我将product_shop表命名为其他东西,也不会创建它。
当我尝试创建它时,它说:
#1146 - 表'the_vegan_repository.product_shop'不存在
有时候:
#2006 - MySQL服务器已经消失
产品和商店表确实存在,每个都有id字段。我在phpmyadmin中这样做。这是怎么回事?
答案 0 :(得分:0)
一定是因为我的购物台ID中有unsigned
。 EG
CREATE TABLE `Shop` (
`id` int(6) unsigned NOT NULL,
我删除了unsigned然后它工作了。