PostgreSQL 错误:“varchar”处或附近的语法错误

Ash*_*til 4 sql postgresql ddl foreign-keys

我正在尝试更改表“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);
Run Code Online (Sandbox Code Playgroud)

错误:“varchar”处或附近的语法错误第 1 行:ALTER TABLE 采用 ALTER COLUMN course_id varchar(10) REFEREN...

Mur*_*nik 5

更改列的类型和在其上添加外键是两种不同的语句:

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);
Run Code Online (Sandbox Code Playgroud)