2011-10-09 42 views
1

錯誤編號:1005什麼是錯的這個SQL表創建(外鍵問題)

無法創建表 'pyro_urbfot.default_wishlist'(錯誤:150)

CREATE TABLE IF NOT EXISTS `default_wishlist` (
    `id` int(8) unsigned NOT NULL auto_increment, 
    `uid` int(11) NOT NULL, 
    `position` int(8) unsigned NOT NULL default '0', 
    `url` varchar(30), 
    `text` varchar(255) collate utf8_unicode_ci NOT NULL default '', 
    `dt_added` timestamp NOT NULL default CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`), 
    KEY `position` (`position`), 
    KEY `uid` (`uid`), 
    FOREIGN KEY (`uid`) 
    REFERENCES `default_users`(`id`) 
    ON DELETE CASCADE 
    ON UPDATE CASCADE 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 
+0

'default_users'的定義是什麼樣的?那張桌子確實存在嗎? –

+0

@MartinSmith - 感謝您的興趣 - 它肯定存在,我不會指望這是問題,因爲default_users是CMS的核心,我試圖將我的wishlist模塊集成到。我確實將uid更改爲smallint(5),就像default_users中的(id)一樣,但這並沒有改變任何東西 – Jakob

+0

那麼在這種情況下,檢查該表中的id的數據類型。 –

回答

1

你的腳本工作正常對我而言,當我首先創建此表時

CREATE TABLE `default_users` 
(
`id` int primary key 
) 

請檢查該表是否存在,並且您使用的是兼容的數據類型。