我有一个名为Player的表,其中有一个字符型(7)主键playerID。我已经在这个表中有一些记录,并且还有一些其他的表,它们将playerID作为外键,并且这些表也已经有了一些记录。
如何设置playerID自增?经过一段时间的阅读后,我认为我应该从一开始就这样做,但是现在我不能这样做,是否有任何方法可以实现它?
例如,当我运行这个时:
ALTER TABLE player ADD COLUMN key_column BIGSERIAL PRIMARY KEY;
它返回一个错误:
ERROR: multiple primary keys for table "player" are not allowed
如果我放弃现有的playerID,引用它的其他表中的记录也将被删除。
是否有一种方法可以将现有的主键playerID更改为自动递增?
select setval('player_id_seq', (select max(player_id_seq) from player) + 1);
- aqteifan