我在PostgreSQL中有一张带有复合主键的表格。该主键由两个名为:的列组成:
DATETIME, UID
我已经有另一个(非Null)列名为ACTION存在于这个表中。我该如何将ACTION添加到复合主键中?也就是说,我希望表的结果主键是三元组:
DATETIME, UID, ACTION
我在PostgreSQL中有一张带有复合主键的表格。该主键由两个名为:的列组成:
DATETIME, UID
我已经有另一个(非Null)列名为ACTION存在于这个表中。我该如何将ACTION添加到复合主键中?也就是说,我希望表的结果主键是三元组:
DATETIME, UID, ACTION
首先删除主键约束。您可以通过输入以下命令获取约束名称
\d my_table
并查看索引,寻找类似于:
"my_table_pkey" PRIMARY KEY, btree (datetime, uid)
通过执行以下操作删除它:
alter table my_table drop constraint my_table_pkey;
然后通过执行以下操作创建新的复合主键:
alter table my_table add constraint my_table_pkey primary key (datetime, uid, action);