2016-04-29 54 views
0

我可以創造我想要在MySQL的任何表和它的作品,除了創建此表:的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服務器已經消失

該pro管道和商店表中確實存在每個id字段。我正在做phpmyadmin。這裏發生了什麼??

+0

表名在Unix上可能區分大小寫,因此請確保您的'REFERENCES'子句中的表名正確。它應該是'REFERENCES Product(id)',而不是'REFERENCES product(id)'。 – Barmar

回答

0

它一定是因爲我的店鋪ID有unsigned在裏面。 EG

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

我刪除了未簽名,然後它工作。