3

I have one table with name tbl_groupmaster created with SQL as shown below:

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)
)

and I am creating one more table with name tbl_groupmanager, using a foreign key relationship:

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;

But I am getting this error:

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

What is this? I am unable to identify my mistake. Please help me to resolve this. Thanks in advance.

4

3 に答える 3

3

外部キーのタイプは、参照されるキーと同じでなければなりません。テーブル tbl_groupmanager の tgm_groupid を int(10) unsigned に変更すると、機能します。

于 2009-11-06T12:19:46.597 に答える
0

ほとんどの場合、はデータベースのデフォルト エンジンでありMyISAM、したがって.tbl_groupmasterMyISAM

MyISAM外部キーをサポートしていません。

于 2009-11-06T12:08:44.210 に答える
0

外部キーは、参照する主キーと同じデータ型ではありません。1 つは署名されていませんが、1 つは署名されていません。

于 2009-11-06T12:19:09.497 に答える