我们说我在postgres中有一张表(伪代码更容易)
Message:
id (UUID)
conversation_id (UUID)
message_seq_id ????
content (Text)
我想要做的是让数据库为message_seq_id创建一个序列,但按conversation_id分组
我可以只使用一个与同一个表中特定其他列绑定的计数器,而不是为每个对话创建序列。
以便行看起来像:
消息:
Message(id='123456', conversation_id = '1', message_seq_id = 1, content 'helloworld')
Message(id='123457', conversation_id = '2', message_seq_id = 1, content 'helloworld')
Message(id='123458', conversation_id = '3', message_seq_id = 1, content 'helloworld')
..........
Message(id='123456', conversation_id = '1', message_seq_id = 2, content 'helloworld')
使得message_sequence_id在" conversation_id"上自动递增。只有基础。
我可以在代码中执行此操作,但如果postgres支持它而不必创建数千个单独的序列,则会很好。