[英]Incorrect syntax near the keyword 'CONSTRAINT'
我收到此錯誤消息...
消息156,15級,狀態1,行20
關鍵字“CONSTRAINT”附近的語法不正確。
我完成了我的研究,但我仍然堅持完成這個腳本。
這就是我輸入的內容。
DROP TABLE SEMESTER;
DROP TABLE CLASS;
DROP TABLE STUDENT;
CREATE TABLE STUDENT (
stuid int not null,
stulname CHAR(40) not null,
stufname CHAR(40) not null,
stugender CHAR(1) not null,
stubirthdate DATE not null);
CREATE TABLE CLASS (
title CHAR(40) not null PRIMARY KEY,
instructor CHAR(40) not null );
CREATE TABLE SEMESTER (
year int not null );
CONSTRAINT pk_student PRIMARY KEY (stuid, stulname, stufname, stugender, stubirthdate),
CONSTRAINT pk_class PRIMARY KEY (title, instructor),
CONSTRAINT pk_semester PRIMARY KEY (semid, year));
我認為這些CONSTRAINT
語句必須是內部 CREATE TABLE
語句。 例如, STUDENT
表應如下所示:
CREATE TABLE STUDENT (
stuid int not null,
stulname CHAR(40) not null,
stufname CHAR(40) not null,
stugender CHAR(1) not null,
stubirthdate DATE not null,
CONSTRAINT pk_student PRIMARY KEY (stuid, stulname, stufname, stugender, stubirthdate),
);
否則,RDBMS如何知道每個約束實際屬於哪個表?
DROP TABLE SEMESTER;
DROP TABLE CLASS;
DROP TABLE STUDENT;
CREATE TABLE STUDENT (
stuid int not null,
stulname CHAR(40) not null,
stufname CHAR(40) not null,
stugender CHAR(1) not null,
stubirthdate DATE not null
CONSTRAINT pk_student PRIMARY KEY (stuid, stulname, stufname, stugender, stubirthdate),);
CREATE TABLE CLASS (
title CHAR(40) not null ,
instructor CHAR(40) not null ,
CONSTRAINT pk_class PRIMARY KEY (title, instructor));
CREATE TABLE SEMESTER (
year int not null ,
semid int not null
CONSTRAINT pk_semester PRIMARY KEY (semid, year));;
根據我的理解這里約束必須在學生和第二個表的表內創建你在類(標題)上創建2次主鍵並且到第三個表semid本身不在學期表中出現
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.