sql语句创建外键出错,使用的SQL server 2008

norra_1020 2015-11-02 12:44:00
表teacher:
create table teacher
(
tno char(8) NOT NULL,
tname char(8) NOT NULL,
sex char(2) NULL,
birthday smalldatetime NULL,
dno char(6) NULL,
pno tinyint NULL,
home varchar(40) NULL,
zipcode char(6) NULL,
tel varchar(40) NULL,
email varchar(40) NULL,
constraint pk_teacher primary key(tno)
)
go
表course:
create table course
(
cno char(10) NOT NULL,
spno char(8) NULL,
cname char(20) NOT NULL,
ctno tinyint NULL,
experiment tinyint NULL,
lecture tinyint NULL,
semester tinyint NULL,
credit tinyint NULL,
constraint pk_course primary key(cno)
)
go
表teacher_course:
create table teacher_course
(
tcid smallint NOT NULL,
tno char(8) NOT NULL,
spno char(8) NULL,
classno char(4) NULL,
cno char(10) NOT NULL,
semester char(6) NULL,
schoolyear char(10) NULL,
classtime varchar(40) NULL,
classroom varchar(40) NULL,
weektime tinyint NULL,
constraint pk_teacher_course primary key(tcid)
foreign key(tno) references teacher(tno)
foreign key(cno) references course(cno)
)
go
在teacher_course表中创建外键tno和cno,运行时报错“消息 156,级别 15,状态 1,第 14 行
关键字 'foreign' 附近有语法错误。”
是为什么
谢谢各位~
...全文
102 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
加上逗号,要不就直接在后面写: create table teacher_course ( tcid smallint NOT NULL, tno char(8) NOT NULL foreign key references teacher(tno), spno char(8) NULL, classno char(4) NULL, cno char(10) NOT NULL foreign key references course(cno), semester char(6) NULL, schoolyear char(10) NULL, classtime varchar(40) NULL, classroom varchar(40) NULL, weektime tinyint NULL, constraint pk_teacher_course primary key(tcid) )
  • 打赏
  • 举报
回复
Tiger_Zhao 2015-11-02
所有定义的项目(无论是字段还是Key)之间都要加逗号
...,
constraint pk_teacher_course primary key(tcid),
foreign key(tno) references teacher(tno),
foreign key(cno) references course(cno)
)
  • 打赏
  • 举报
回复
发帖
疑难问题

2.1w+

社区成员

MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
加入社区
帖子事件
创建了帖子
2015-11-02 12:44
社区公告
暂无公告