Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PostgreSQL ERROR: syntax error at or near "varchar"

I'm trying to alter the course_id column in the table 'course' but I keep getting this error:

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);

ERROR: syntax error at or near "varchar" LINE 1: ALTER TABLE takes ALTER COLUMN course_id varchar(10) REFEREN...

like image 720
Ashish Patil Avatar asked Oct 24 '25 18:10

Ashish Patil


2 Answers

Altering a column's type and adding a foreign key on it are two different statements:

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);
like image 139
Mureinik Avatar answered Oct 27 '25 10:10

Mureinik


Your syntax is worng. It must be:

ALTER TABLE takes ALTER COLUMN course_id TYPE varchar(10) ;
like image 39
Jens Avatar answered Oct 27 '25 09:10

Jens



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!