我需要在表上添加新列,该列将是 uuid 数据类型,这里是我的代码:
ALTER TABLE core.example add COLUMN newcolumn SET DATA TYPE UUID USING (uuid_generate_v4())
Run Code Online (Sandbox Code Playgroud)
但告诉我这个错误:
ERROR: type modifier is not allowed for type "uuid"
LINE 1: ALTER TABLE core.example add COLUMN newsi UUID (uuid_genera...
Run Code Online (Sandbox Code Playgroud)
我不想更改列,而是在我的表上创建一个新列。知道怎么做吗?
问候
THX*_*138 13
添加新列时,您不使用SET DATA TYPE. 您的声明应如下所示:
ALTER TABLE core.example ADD COLUMN newcolumn UUID DEFAULT (uuid_generate_v4());
Run Code Online (Sandbox Code Playgroud)
DEFAULT 子句将立即用 UUID 填充该列。
或者,如果您只想用初始数据填充该列,则可以随后删除 DEFAULT 子句:
ALTER TABLE core.example ALTER COLUMN newcolumn DROP DEFAULT;
Run Code Online (Sandbox Code Playgroud)
请注意,如果您使用 Postgres 13 及更高版本,通常最好使用它,gen_random_uuid()因为该方法是内置的并且不依赖于uuid-ossp扩展。
| 归档时间: |
|
| 查看次数: |
10876 次 |
| 最近记录: |