0

生物学的データを保存するための MySQL データベースをセットアップしようとしています。このデータをファイルから抽出する必要があり、そのための perl スクリプトがあります。私が抱えている問題は、それらを一意にするために3つの主キーが必要であり、そのうちの1つを自動インクリメント整数にしたいということです。ただし、最初の 2 つのキーの組み合わせが変わるたびに、自動インクリメントされた値をリセットしたいと思います。

sequence1 | hit1      | 1
sequence1 | hit1      | 2
sequence1 | hit2      | 1
sequence2 | something | 1
sequence2 | something | 2
sequence2 | something | 3
sequence3 | something | 1

などなど

それは可能ですか、それともスクリプトに直接実装する必要がありますか?

ありがとうございました

4

1 に答える 1

0

MyISAMテーブルでのみ可能であり、InnoDBまたはMySQLが持つその他のストレージエンジンでは機能しません。

(col1、col2、id)に主キーを作成し、id列にauto_incrementフラグを設定するだけです。また、idだけに一意の制約がないことを確認してください。MyISAMは、(col1、col2)の一意のペアごとに新しい値のシーケンスを生成します。

于 2012-04-13T12:57:32.230 に答える