如何添加列默认值?
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
引用冲突。
我创建了一个包含 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
引用冲突。