2016-06-17 16 views
1

私のテーブルのプライマリキーとして機能するMySQLの列の1つに自動インクリメントフィールドを追加したいと思います。このトリガを使用してこれを行う方法を説明する記事を見ました。これを行うための他の方法はありますか?接頭辞付きの自動インクリメントフィールドを追加する

+1

いいえauto_incrementsは数字で、数字以外の値は使用できません。したがって、IDが生成された後に接頭辞/接尾辞を追加するトリガーが必要です。 –

+0

一部のデータベースシステムでは、これを行うためにシーケンスとデフォルトの列値を使用できます。私はMySQLがそれをサポートしているかどうかわかりません – GendoIkari

+0

あなたのデータを一緒に関連付けるためにあなたの '内部キー'を持っている別の列がありますか?どうして?データベースエンジンは、テーブル間の関係を調べるようにしておきます。あなたはあなたのデータ間の関係を見ますか? –

答えて

0

私はMyISAMストレージエンジンが以前から使っていたことが分かっていないことを知っています。

同じフィールドにはありませんが、プライマリキーが自動インクリメントフィールドを含むコンポジットの場合、フィールドの値はキーの他の値に基づいています。キー定義の前にあるもの、またはすべて)。

Simple example: 
PK: name, auto_id 
Data ends up being something like: 
red, 1 
blue, 1 
red, 2 
red, 3 
blue, 2 
yellow, 1 
関連する問題