2014-04-13 57 views
0

我收到一個錯誤說有在此代碼語法錯誤,SQL表將不會建立

CREATE TABLE IF NOT EXISTS `reportcategorys` (
    `categoryName` varchar(100) NOT NULL, 
    `subCategoryName` varchar(500) NOT NULL, 
    PRIMARY KEY (`categoryName`), 
    FOREIGN KEY (`subCategoryName`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 




CREATE TABLE IF NOT EXISTS `reportsubcategorys` (
    `subCategoryName` varchar(500) NOT NULL, 
    `categoryName` varchar(100) NOT NULL, 
    PRIMARY KEY (`subCategoryName`), 
    FOREIGN KEY `Category_Name` (`categoryName`) 
)ENGINE=InnoDB DEFAULT CHARSET=latin1; 

我不能看到語法錯誤

+0

表已經存在? – user1929959

回答

3

什麼外鍵點?沒有我能看到的桌子。

的語法應該看起來像

FOREIGN KEY(subCategoryName) REFERENCES reportcategory(categoryName) 

替換表和它的主鍵需要。

表名稱應該是單數:reportCategory,而不是reportCategories。 (風格偏好,而不是語法)。

+0

我已經更新了我的代碼 – user2320010

+0

仍然不正確。他們提及哪些表格?我現在看到兩個錯誤的FOREIGN KEYS,而不是一個。 – duffymo