mysql创建表无法正常工作

时间:2016-04-29 22:12:05

标签: mysql database

我可以在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中这样做。这是怎么回事?

1 个答案:

答案 0 :(得分:0)

一定是因为我的购物台ID中有unsigned。 EG

CREATE TABLE `Shop` (
  `id` int(6) unsigned NOT NULL,

我删除了unsigned然后它工作了。