0

mysqlデータベースにメッセージのテーブルがあります。そして、次のように、auto_incrementを別の行に依存して設定したいと思います。

会話ID | message_id | コンテンツ123a_i:1 bla
123                         a_i:2 bla 123                          a_i : 3                          bla 1234                        a_i:1 bla 何か考えがありますか?ありがとう、ケビン。




4

2 に答える 2

1

はい、それは MySQL では不可能です。少なくとも InnoDB では不可能です。代わりに次のことができます。

  1. 値を手動で計算する
  2. トリガーを使用して値を計算および設定する

いくつかの条件付きで、ISAM で使用できます (複合主キーが必要です)。

于 2013-01-21T17:09:42.607 に答える
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)
于 2013-01-21T17:21:48.420 に答える