Tips

MariaDB はじめてのMariaDB 【第5回 DBを作成してみよう】

CHAR型を扱う際の注意点

CHAR型を使用し、データを格納すると下記のような状況に陥ることがあります。
20_charVerify
上記では、CHAR型の4桁で設定しているにも関わらず2ケタしか表示されていません。
※CONCAT(A,B)はAとBの文字列を結合するという関数です。
 従って、実際のデータは「12」の2桁となっています。

これはなぜ起こったのか?
答えはDBの設定ファイル(my.cnf)に設定不足があるからです。
下記オプションを[mysqld]セクションに追加しましょう。

sql-mode="PAD_CHAR_TO_FULL_LENGTH"

21_changeConf
追加したら、MariaDBを再起動します。

/etc/init.d/mysqld restart

22_restart
再度、検索をかけると下記のようになります。
正常にスペースまで出ています。
23_charResult

上記はCHAR型でデータを格納し、スペースが埋まるのは内部でやってくれているのですが、
設定ファイルに設定不足があるとテーブルからデータを取得し、画面に表示する際に
MariaDBがスペースを取り除いてしまうため、発生した事象です。
※詳細は下記ページを参照(MySQLの公式サイト)
 http://dev.mysql.com/doc/refman/5.1-olh/ja/char.html

次回はINDEXについて記載する予定です。

WEBアプリケーション関連 人気連載リンク

データベースの基礎が学べるSQL基礎講座
SQL基礎 連載

より実践的なWEBアプリ開発講座!Bootstrap活用を学ぶなら・・
魁!小野の塾 連載

Recent News

Recent Tips

Tag Search