広告

MySQLでAuto_incrementを設定し動作確認する3ステップ(phpMyAdmin)

2019年8月31日

MySQLでidを自動連番するのに、Auto_incrementを設定する方法をご紹介します↓

オートインクリメントをスクロールで探す

Auto_increment(オートインクリメント)を設定してidを自動連番する手順

例えば既に設定されているidの値を入力すると、以下のような重複のエラー画面が表示されます↓

tableのidが重複してエラーになった画面

でもね、Auto_incrementを設定すると解決するんすよ。

というのも「increment」は増加・増量という意味だから。

その名のとおり、自動で連番振ってくれるめっちゃ便利な機能というわけです☺️

STEP1. 構造タブのid(主キー)の変更(カラム)をクリック。

設定したいデータベースを選択して、

オートインクリメントを設定するテーブルを選択

構造タブを選択したら、

構造タブを選択

主キー(PRIMARY KEY)のフィールド「変更」をクリック。

主キーのレコードのフィールド変更をクリック

すると、idレコードの編集画面が開きます。

レコードidの編集画面が開いた

STEP2. A_I コメント箇所に✓を入れて保存。

レコード画面をスクロールするとA_Iという箇所があります。この「A_I」こそ" Auto_increment "っす!!!!!

オートインクリメントをスクロールで探す

なのでおもむろに✔(チェック)を入れます!A_Iの箇所に✔したイメージ

で、「保存」をクリック。

オートインクリメントの設定を保存する

STEP3. オートインクリメントの設定が表示されてホッとする

主キーのレコード、その他のフィールドに「AUTO_INCREMENT」が表示されます

Auto_incrementが保存・設定された

とりあえず設定は完了!カンタンでした。

しかし、ちゃんと自動連番してくれるんでしょうか。

Auto_increment(オートインクリメント)の動作を確認する

自分で追加したいレコードを採番しなくても、Auto_incrementが連番にしてくれるのか。

あやしいので確認。

1. 挿入タブを開いてレコード編集画面を開く

データベースの「挿入」タブをクリックして、

挿入タブをクリック

レコード内容の編集画面を開きます。

レコードの編集画面

次はいじわるします。

2. idをわざと未入力にして実行してみる

Auto_incrementの実力を発揮してもらうために、idの採番は未入力にして、

idは未入力にした

nameやdayは適当に入力して「実行」してみます。

他カラムは適当に入力

すると、以下のような画面が表示されました。

id未採番にて実行したあとの遷移画面

でもこれじゃあちゃんと設定されてるか...わかんない!

3. 表示タブをクリックするとidが連番で設定されている

なので表示タブをクリックして、テーブルを表示してみます。

表示タブをクリック

idが連番に...なってる!!!

よかったほんと良かった。

採番せずにidが連番になってる

補足
オートインクリメントを設定したから自動連番になりました。いや、これなんの補足だ...

じゃあ、レコードを削除して新規追加したら、Auto_incrementはどのように作用するんでしょう。

レコードを削除したらどういったidはどうなるのかやってみた

疑問なのでやってみました。

1.レコードをわざと削除

テーブルの削除をクリックして、

テーブルの削除をクリック

OKをクリック。

レコード削除の確認画面でOK

レコードが消え去りました。

選択したレコードが消えた

2. レコードを追加してみる

挿入タブ(画像はもちろん使いまわし)から、挿入タブをクリック

idは未入力で、カラムに適当にテキストや値を入力して実行

カラムに値を入力して実行

id4の行を挿入した、と表示されてますね。

レコードを新規追加した遷移画面

テーブルの表示結果を見てみます。

3. テーブルの一番下の行に追加されたレコードの採番結果は...

表示タブをクリックして、

表示タブをクリック

テーブルを開いてみると、idが連番になってない!!!

レコード削除して新規追加すると主キーは連番にならない

実はこれ、データベースの仕様なんすね。

削除したレコード内容のidを上書きによって、元データがなくなることを防いでいるようです。

補足
削除したレコードは永久欠番になるんです。
注意!
MySQLでは実に、20億以上のレコード追加が可能になっているので、レコード追加しまくってもおびえることはありません。

まとめ

MySQLでAuto_incrementを設定して、動作確認まで行う3ステップを紹介しました。

idの連番って、どこまで振ったか分かりづらいので「Auto_increment」はかなり重宝できる機能ではないでしょうか。

OYAKUN
OYAKUN
レコードを削除したidの永久欠番って、響きがなんかカッコイイですよね...?
次回記事
Mysql-database-yougo
MySQLデータベースの用語・基本の5つ

MySQLで使う<データベースの超基本的な用語5つのメモ。 注意! この記事の中身、本当にmemoレベルです。離脱 ...

続きを見る

関連記事:【MySQL】SUM・COUNT・AVGでカラムの値を集計する(phpMyAdmin)
関連記事:【MySQL】PHPでqueryを使ってデータベースの値を取得する方法
関連記事:PHPでMySQLへ入力フォームからデータ登録する方法