我的mysql-database中有一个表消息。我想将auto_increment设置为依赖于另一行,如下所示:
conversation_id | message_id | 内容
123 a_i :1 bla
123 a_i :2 bla
123 a_i :3 bla
1234 a_i :1 bla
你有什么主意吗?
谢谢,
凯文。
答案 0 :(得分:1)
是的,这对MySQL来说是不可能的,至少不是InnoDB。你可以改为:
它可以在ISAM中使用,但有一些条件(您需要复合主键)。
答案 1 :(得分:0)
该功能仅适用于MyISAM,而非InnoDB。
<剪断>
对于MyISAM表,您可以在多列索引中的辅助列上指定AUTO_INCREMENT。在这种情况下,AUTO_INCREMENT列的生成值计算为MAX(auto_increment_column)+ 1 WHERE prefix = given-prefix。当您想要将数据放入有序组时,这非常有用。
< /剪断>
http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html
同样,这仅在表使用MyISAM引擎时才有效。您需要确保没有带有message_id的索引作为前导列,并确保您有索引:
ON mytable (conversation_id, message_id)