skillup

技術ブログ

Database

sql_modeに関して

投稿日:

開発では動いていたのに本番ではint型のカラムで空白が入らない!みたいなエラーが出て、データベースにデータが入らないことが発覚し、調査をすることに・・・

sql_modeが原因でした・・・

sql_modeとは

プログラミングで言う所のuse strict(例えばperl)みたいなもんでしょうか。

データの型の不正であったり、日付の処理であったりを細かくチェックできます。

細かいものは辞書的な内容なので、リンクを。

ちなみに実務では後述するように全部外して、設定してました。

/etc/my.cnfを設定して、

と設定し、再起動すれば全て解除されます。

参考リンク

MySQLのSQLモードをstrictモードで設定する。

 

 

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SQL case式やウィンドウ関数の威力

プログラマには「プログラムは思った通りに動かない。書いた通りに動く。」「バグではない仕様です」なんて面白い格言がいろいろありますが、データベースの世界にも「WHERE句で条件分岐させるのは素人のやるこ …

no image

MySQLでのlocalhostと127.0.0.1の違い

たまにMySQLでローカルのホストに接続する時に、localhostで接続するときと127.0.0.1で接続するときで挙動が違う(片方だとエラーになり、もう片方だとエラーにならない)などがあるのでちょ …

no image

データベースによるテストデータ作成

テスト環境を作る際に、テストデータを作るのが面倒・・・なんかライブラリでもないかな・・と思っていたんですが、MySQLでいろいろと簡単にできます。 数字 [crayon-65f94a8af14d663 …

no image

SQL基礎 条件式はunionよりもcaseで

複雑な条件式があったときにcase式を使うことでパフォーマンスを向上させることができます。 ※一般にunionを使うよりも高速なことが多い。 例1 ある条件により別の列を使いたいとき、 [crayon …

no image

DB負荷調査のセオリー

DB負荷などで見ておきたいことのまとめなど。(今のプロジェクトではSQLServerを使っていますが、他のデータベースでも同じかと思います。) 参考URL SQLServer: 現在実行中クエリのリア …

アーカイブ