ゼロから始めるPHP講座Vol26 Auto Increment(A_I)とは


ゼロから始めるPHP講座Vol26 Auto Increment(A_I)とは
目次
  1. ゼロから始めるPHP講座AutoIncrement(A_I)とは
  2. AutoIncrement(A_I)
  3. 課題

ゼロから始めるPHP講座AutoIncrement(A_I)とは

AutoIncrement(A_I)

新しくレコードを追加する際、レコードを識別するための一意な値を自動で生成してくれる機能がMySQLにはあり、これをAuto Increment(A_I)AutoIncrement(A_I)

PRIMARYKEY説明の際に述べた通り、「必ずレコードが特定できるユニークな値」というのが必要となることが多々あります。

この際、A_Iを設定しておくと、自動で連番の値を追加してくれます。

A_Iには以下の特徴があります。

  • A_Iを設定するカラムには同時にPRIMARYKEYを設定する必要がある- A_Iはテーブル内の1つのカラムにしか設定できない- A_Iを設定してるカラムに値を指定しなかった場合、自動で番号が振られる- 自動で番号が振られる場合、番号は過去最大の番号に1を加えた値となる

PRIMARYKEYと同じく、phpMyAdminで既に作成したテーブルには、A_Iを設定してあるカラムがあります。

例えばgoods_tableの場合、goods_idに対して次のような設定をしました。PHP-AI1-639

実際にA_Iを設定してあるカラムにて、カラムの値を指定せずにレコード追加をし、自動で番号が振られることをphpMyAdminより確認してみましょう。

goods_tableにて、goods_idは指定せずにINSERT

goods_table5

新しくレコードが追加されました。goods_idはINSERT文で指定していませんでしたが、A_Iにより、自動で「5」が割り振られました。

これまでA_Iを設定しているカラムに対してデータを指定していました。

A_Iを設定してあっても任意の値を挿入することは可能ですが、今後は特に明確な目的がある場合以外は、A_Iを利用し、自動で連番を振るようにしましょう。

課題

次の表と同じテーブル作成を以下のような制約で作成してください。

PRIMARYKEY,A_I*user_iduser_namemail_address**status*

またレコード追加はA_Iを利用し、user_idの指定はせずINSERTを行ってください。

user_table

user_tableは、ユーザ登録を行うサービスにて、ユーザの名前、メールアドレス、会員ステータスを管理するテーブルをイメージしています。

NEXTLESSONPHPによるDB操作基礎PHPによるDB操作基礎

PREVLESSONPrimaryKeyとはPrimaryKeyとは


CodeCampus編集部
この記事を書いた人
CodeCampus編集部
まずは7日間お試し!人気プログラミング講座を無料公開中
オンライン・プログラミングレッスンNo.1のCodeCamp