I created a Postgres DB which contains 5 tables. Then I realized that the column student.student_id lacks a column default to generate an UUID:
CREATE TABLE student (
student_id UUID PRIMARY KEY,
first_name VARCHAR(100) NOT NULL,
last_name varchar(100) NOT NULL,
date_of_birth Date NOT NULL
)
Knowing that some tables are linked to the student table, how can I add to the function as column default for student_id so that the result will be:
student_id UUID PRIMARY KEY DEFAULT uuid_generate_v4()
Advertisement
Answer
Use ALTER TABLE:
ALTER TABLE student ALTER COLUMN student_id SET DEFAULT uuid_generate_v4();
Column defaults do not conflict with FOREIGN KEY references.