我想在TEST数据库中建立三张表,其中表SC对其他两个表student,course有外键,语句如下:
drop table if exists student
drop table if exists course
drop table if exists sc
use test;
create table student(
sid int auto_increment primary key,
sno char(6) not null,
sname char(20) not null,
sage char(2) not null)type=InnoDB
create table course(
cid int auto_increment primary key,
cno char(3) not null,
cname char(10) not null)type=InnoDB
create table sc(
gid int auto_increment primary key,
sno char(6) not null,
cno char(3) not null,
foreign key(sno) references student(sno),
foreign key(cno) references course(cno))type=InnoDB
我查阅了一下资料,Mysql的一些早期版本并不支持外键,然而最近MySQL的不同版本都通过新InnoDB列表引擎支持外键
所以我把这三个表都声明为InnoDB的类型,但在建立表SC的过程中出现提示不能建立的信息:
[root@localhost:3306] ERROR 1005: Can't create table '.\test\sc.frm' (errno: 150)
请问一下这是什么原因呀?
[此贴子已经被作者于2007-9-6 9:17:00编辑过]