• ベストアンサー

MYSQLでコード番号を自動でつける。

初心者です。 ユニークキーでここのレコードにコード番号をつけたいのですが、AUTO_INCREMENTでは数字しか対応してもらえず、A101.A102のようなコード番号を自動でつけることができません。 最終的にはAテーブル Bテーブルというかたちで作っていき、場面場面でグループ化などしたいので、アルファベットがほしいのですが、そういう場合はどのようなやり方をするのが主流なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

>>どのようなやり方をするのが主流なのでしょうか? 主流。。。であるのかどうか不明ですが >>A101.A102のようなコード番号を自動でつけることができません。 確かに、自動連番は出来ないので、しゃーないので自分で連番になるようにするしか無いかな。と。 データが増える。って事は、どっかのタイミングで必ずデータのInsertをかけるって事になります。 Insertの際に、「A101」「A102」を取得してきて、突っ込む。 Insert直前に、今入ってるデータの最終番号取得してきて、それを「A」と「数字」にバラして、カウントアップしてから、またくっつけてInsertしてやる でもいいし あらかじめ専用テーブルもっといて、データ作成時にはそこ参照させてデータ作ってInsertして、Insert後には専用テーブルのカウントアップしてやる でもいいし まぁ、その辺は、システム側の要件に合うように、よさそうな方法を考える。ぐらいです。 「オートでインクリメント出来ない物に関しては、自分で何とかしてインクリメントしてやる」しかない。という考えでやってます。おいらは。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

別カラムでAを保持してインデックスはるだけで済む話 数字の項目についてはAやBと別次元でオートインクリメントすればいいのでは? アルファベット付きでも付きじゃなくても、ユニークは保証されます オートインクリメントは単にユニークなIDを振るための手段なので 運用方法によっては抜け番だって発生するし連番であることを期待しない方がよい

すると、全ての回答が全文表示されます。

関連するQ&A