MySQLでidを自動連番するのに、Auto_incrementを設定する方法をご紹介します↓
データベースの基礎用語5つを先に読んでおくと、この記事の理解が捗ります!
関連:データベースの基礎用語5つ
-
MySQLデータベースの用語・基本の5つ
MySQLで使う<データベースの超基本的な用語5つのメモ。 注意! この記事の中身、本当にmemoレベルです。離脱 ...
続きを見る
Auto_increment(オートインクリメント)を設定してidを自動連番する手順
例えば既に設定されているidの値を入力すると、以下のような重複のエラー画面が表示されます↓
でもね、Auto_incrementを設定すると解決するんすよ。
というのも「increment」は増加・増量という意味だから。
その名のとおり、自動で連番振ってくれるめっちゃ便利な機能というわけです☺️
STEP1. 構造タブのid(主キー)の変更(カラム)をクリック。
設定したいデータベースを選択して、
構造タブを選択したら、
主キー(PRIMARY KEY)のフィールド「変更」をクリック。
すると、idレコードの編集画面が開きます。
STEP2. A_I コメント箇所に✓を入れて保存。
レコード画面をスクロールするとA_Iという箇所があります。この「A_I」こそ" Auto_increment "っす!!!!!
なのでおもむろに✔(チェック)を入れます!
で、「保存」をクリック。
STEP3. オートインクリメントの設定が表示されてホッとする
主キーのレコード、その他のフィールドに「AUTO_INCREMENT」が表示されます。
とりあえず設定は完了!カンタンでした。
しかし、ちゃんと自動連番してくれるんでしょうか。
Auto_increment(オートインクリメント)の動作を確認する
自分で追加したいレコードを採番しなくても、Auto_incrementが連番にしてくれるのか。
あやしいので確認。
1. 挿入タブを開いてレコード編集画面を開く
データベースの「挿入」タブをクリックして、
レコード内容の編集画面を開きます。
次はいじわるします。
2. idをわざと未入力にして実行してみる
Auto_incrementの実力を発揮してもらうために、idの採番は未入力にして、
nameやdayは適当に入力して「実行」してみます。
すると、以下のような画面が表示されました。
でもこれじゃあちゃんと設定されてるか...わかんない!
3. 表示タブをクリックするとidが連番で設定されている
なので表示タブをクリックして、テーブルを表示してみます。
idが連番に...なってる!!!
よかったほんと良かった。
オートインクリメントを設定したから自動連番になりました。いや、これなんの補足だ...
じゃあ、レコードを削除して新規追加したら、Auto_incrementはどのように作用するんでしょう。
レコードを削除したらどういったidはどうなるのかやってみた
疑問なのでやってみました。
1.レコードをわざと削除
テーブルの削除をクリックして、
OKをクリック。
レコードが消え去りました。
2. レコードを追加してみる
挿入タブ(画像はもちろん使いまわし)から、
idは未入力で、カラムに適当にテキストや値を入力して実行!
id4の行を挿入した、と表示されてますね。
テーブルの表示結果を見てみます。
3. テーブルの一番下の行に追加されたレコードの採番結果は...
表示タブをクリックして、
テーブルを開いてみると、idが連番になってない!!!
実はこれ、データベースの仕様なんすね。
削除したレコード内容のidを上書きによって、元データがなくなることを防いでいるようです。
削除したレコードは永久欠番になるんです。
MySQLでは実に、20億以上のレコード追加が可能になっているので、レコード追加しまくってもおびえることはありません。
まとめ
MySQLでAuto_incrementを設定して、動作確認まで行う3ステップを紹介しました。
idの連番って、どこまで振ったか分かりづらいので「Auto_increment」はかなり重宝できる機能ではないでしょうか。
-
MySQLデータベースの用語・基本の5つ
MySQLで使う<データベースの超基本的な用語5つのメモ。 注意! この記事の中身、本当にmemoレベルです。離脱 ...
続きを見る
関連記事:【MySQL】SUM・COUNT・AVGでカラムの値を集計する(phpMyAdmin)
関連記事:【MySQL】PHPでqueryを使ってデータベースの値を取得する方法
関連記事:PHPでMySQLへ入力フォームからデータ登録する方法