2009-11-06 95 views
3

我與SQL創建的名稱tbl_groupmaster一個表,如下圖所示:MySQL錯誤150在CREATE TABLE

create table tbl_groupmaster (
    tgm_groupid int(10) unsigned NOT NULL auto_increment, 
    tgm_groupname varchar(50), 
    tgm_groupdescription varchar(50), 
    PRIMARY KEY (tgm_groupid) 
) 

和我創造一個更表名tbl_groupmanager,使用外鍵關係:

create table tbl_groupmanager (
    tgmgr_groupmangerid int(10) NOT NULL, 
    tgm_groupid int(10), 
    UserNamesID int(10), 
    tgmgr_groupsize int(10), 
    tgmgr_groupassigned_date datetime, 
    tgmgr_grouplead_status enum ('active','inactive'), 
    PRIMARY KEY (tgmgr_groupmangerid), 
    FOREIGN KEY (tgm_groupid) REFERENCES tbl_groupmaster(tgm_groupid) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

但我收到此錯誤:

SQL Error: Can't create table '.\student\tbl_groupmanager.frm' (errno: 150)..

這是什麼?我無法識別我的錯誤。請幫我解決這個問題。提前致謝。

回答

0

最有可能的是,MyISAM是數據庫中的默認引擎,因此tbl_groupmasterMyISAM

MyISAM不支持外鍵。

+0

嗨, 我改成InnoDB,然後只創建..所以我相信沒有pbm與..任何其他suggesstions ?? – Senthil 2009-11-06 12:14:55

0

您的外鍵與它所引用的主鍵不是相同的數據類型。一個是未簽名的,一個不是。

3

外鍵的類型必須與引用鍵相同。將表tbl_groupmanager上的tgm_groupid更改爲int(10)unsigned,它將起作用。

+0

嘿Thanx ...你是對的..它的工作...偉大的工作... – Senthil 2009-11-06 12:23:35

+0

不客氣:) – 2009-11-06 12:26:37

+0

嘿,記得接受這個問題:) – 2009-11-06 12:35:36