表中是否始终需要主键自动增量?

use*_*425 2 sql mysqli database-design

我有一张桌子,代表连接到游戏室的用户.它看起来像这样:

id | gameRoomId | userId
------------------------
 0    abc          bob
 1    xyz          joe
 2    xyz          frank
 ...
Run Code Online (Sandbox Code Playgroud)

有没有办法可以删除自动增量主键id列?我没有用它来进行任何查询,也不打算这样做.

gameRoomIduserId具有单独对他们的一个通用指标.

我现在正在使用mysql,如果重要的话,最终可能会切换到postgres.

Joh*_*ger 5

表不具有主键约束.如果表具有主键,则不必自动生成该键.在某些情况下,是在给定的主键,甚至没有真正意义上自动生成.

您应该能够从数据库中删除现有的主键列,如下所示:

alter table my_table drop column id;
Run Code Online (Sandbox Code Playgroud)

或者你可以避免首先创建它.

这是否明智,取决于你的情况.