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

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

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

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

補足
データベースの基礎用語5つを先に読んでおくと、この記事の理解が捗ります!
>データベースの基礎用語5つ

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】SUM・COUNT・AVGでカラムの値を集計する(phpMyAdmin)

>【MySQL】PHPでqueryを使ってデータベースの値を取得する方法

>PHPでMySQLへ入力フォームからデータ登録する方法

コメント

タイトルとURLをコピーしました