【MySQL】テーブルカラムは大文字・小文字の区別が無いので注意が必要
とあるプログラム中で、テーブル作成では大文字でカラム名が定義されているカラムに対して、
データ取得(SELECT)で気が付かず小文字で書いてしまっていたのですが、
問題無く処理されていた様でした。
実は MySQL ではカラム名の記述で大文字・小文字の区別はしていないのです。
実際に処理を見てみます。 前回の記事で AUTO_INCREMENT に関することを書きましたが、そこでのテーブルを使用します。
テーブル作成のSQL文は以下の通りです。
このテーブルはカラムが大文字で宣言されていますが、以下カラムを小文字で取得する様にしてみます。
取得するカラム名が大文字、小文字のどちらであっても問題無く取得できます。
ただし、 PHP からデータを取得した時には、1行のデータを配列で扱いますが、 その時の指標として各カラム名を使ったりします。
PHP では配列の指標では大文字と小文字の区別されるため、どちらかに統一するほうが良いと思います。
(例えば $row["id"] と $row["ID"] は異なります。)
■関連記事
⇒【MySQL】テーブルカラムは大文字・小文字の区別が無いので注意が必要
⇒【MySQL】テーブル作成時にカラムにAUTO_INCREMENTを設定する方法について
⇒【MySQL】テーブルカラムに後からAUTO_INCREMENTを設定する方法について
⇒【MySQL】文字列カラムに追加で更新する方法について(CONCAT)
⇒【MySQL】既に存在するTABLEに複数カラムを位置指定で追加する方法について(ALTERTABLE)
実は MySQL ではカラム名の記述で大文字・小文字の区別はしていないのです。
実際に処理を見てみます。 前回の記事で AUTO_INCREMENT に関することを書きましたが、そこでのテーブルを使用します。
テーブル作成のSQL文は以下の通りです。
このテーブルはカラムが大文字で宣言されていますが、以下カラムを小文字で取得する様にしてみます。
取得するカラム名が大文字、小文字のどちらであっても問題無く取得できます。
ただし、 PHP からデータを取得した時には、1行のデータを配列で扱いますが、 その時の指標として各カラム名を使ったりします。
PHP では配列の指標では大文字と小文字の区別されるため、どちらかに統一するほうが良いと思います。
(例えば $row["id"] と $row["ID"] は異なります。)
■関連記事
⇒【MySQL】テーブルカラムは大文字・小文字の区別が無いので注意が必要
⇒【MySQL】テーブル作成時にカラムにAUTO_INCREMENTを設定する方法について
⇒【MySQL】テーブルカラムに後からAUTO_INCREMENTを設定する方法について
⇒【MySQL】文字列カラムに追加で更新する方法について(CONCAT)
⇒【MySQL】既に存在するTABLEに複数カラムを位置指定で追加する方法について(ALTERTABLE)
コメント