我有一个用sql创建的名称为tbl_groupmaster的表,如下所示:
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)..
最佳答案
外键的类型必须与引用的键相同.将表tbl_groupmanager上的tgm_groupid更改为int(10)unsigned,它将起作用.
原文链接:https://www.f2er.com/mysql/532013.html