我正在尝试更改表'course'中的course_id列,但我一直收到此错误:
CREATE TABLE course
(
course_id varchar(10) PRIMARY KEY,
title varchar(30),
dep_name varchar(10),
credits numeric(2,2) CHECK (credits>0)
);
ALTER TABLE takes ALTER COLUMN course_id varchar(10) REFERENCES course(course_id);
错误:“varchar”或附近的语法错误第1行:ALTER TABLE采用 ALTER COLUMN course_id varchar(10)REFEREN ...
答案 0 :(得分:3)
更改列的类型并在其上添加外键是两个不同的语句:
ALTER TABLE takes ALTER COLUMN course_id TYPE VARCHAR(10);
ALTER TABLE takes
ADD CONSTRAINT takes_course_fk FOREIGN KEY (course_id)
REFERENCES course(course_id);
答案 1 :(得分:1)
你的语法错了。必须是:
ALTER TABLE takes ALTER COLUMN course_id TYPE varchar(10) ;
答案 2 :(得分:1)
参考文献如下: 在您的情况下:
Alter table takes ADD CONSTRAINT FK_takes_course_id FOREIGN KEY (course_id) REFERENCES course(course_id)