如何添加列默认值?

How to add a column default?

我创建了一个包含 5 tables 的 Postgres 数据库。然后我意识到列 student.student_id 缺少列默认生成 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
)

知道一些 table 链接到 student table,我如何将函数添加到函数中作为 student_id 的列默认值,以便结果将是:

     student_id UUID PRIMARY KEY DEFAULT uuid_generate_v4()

使用ALTER TABLE:

ALTER TABLE student
ALTER COLUMN student_id SET DEFAULT uuid_generate_v4();

列默认值不与 FOREIGN KEY 引用冲突。