注:今回は技術的な話題です。
システムを開発するとデータを登録する機会があると思います。
データに連番を付けることも多いと思います。
少なくとも私はデータベースのテーブルの主キーで連番を使うことがあります。
よくやるケースなので、私の備忘録代わりに記録を残しておきます。
このページの目次
SQL文
SELECT COALESCE(MAX(連番にしたいフィールド名), 0) + 1 AS 適当なフィールド名 FROM テーブル名
解説
連番なので一番大きな値が最近の数字です。
連番にするには一番大きな値にプラス1すればいいです。
だからMAX関数を使って最大値を取得します。
もう一つミソなのが、COALESCE。
COALESCEを使っているのは、まだデータが1件も登録されていない時のことを考慮しているからです。
0件だとMAX関数で返ってくるのはNULLになります。
NULLにプラス1するのはできないので、NULLをゼロに置き換えています。それがCOALESCE関数でしていることです。
タグ:MySQL