mysql:12691
From: KenjiMATSUO <KenjiMATSUO <ml.kmatsuo@xxxxxxxxxx>>
Date: Tue, 31 Jan 2006 16:48:58 +0900
Subject: [mysql 12691] Re: SQL実行時のワーニングに関して
松尾です 池田さん 早速のご回答ありがとうございました。 思い通りの動作を実現できました。 [STRICT_ALL_TABLES]をGoogleで検索してみましたが非常に少数の 情報しかヒットしませんでした。やはりバージョン5系の情報はま だ少ないのでしょうか・・・ // Kenji MATSUO<ml.kmatsuo@xxxxxxxxxx> Tetsuro IKEDA wrote: > 池田です。 > > 松尾さんこんにちは。 > > MySQL 5.0.xをお使いということですのでStrict Modeの機能を使うことで > ご要望を達成できるかとおもいます。 > > my.cnfに以下のように設定するだけです。 > > [mysqld] > sql_mode=STRICT_ALL_TABLES > > すると以下のようにWarningであってもErrorが返されます。 > > mysql> create table test (colum_a tinyint); > Query OK, 0 rows affected (0.04 sec) > > mysql> insert into test values (10000); > ERROR 1264 (22003): Out of range value adjusted for column 'colum_a' at row 1 > mysql> > > 詳しくはマニュアルのこちらのページに記載してありますので参照下さい。 > http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html > > Kenji Matsuo wrote: > >>はじめまして、松尾と申します。 >> >>現在MySQL-5.0.18をインストールし PostgreSQL/Oracle との違い等に >>ついて色々試しています。 >> >>そこでMySQLにおけるSQL実行時の挙動について伺いたいのですが、 >>たとえば >> >>create table test (colum_a tinyint); >> >>で作成したテーブルに対して >> >>insert into test values (10000); >> >>を実行するとワーニングが発生し show warnings; で確認すると >> >>[Out of range value adjusted for column 'column_a' at row 1 ] >> >>ということが認識できますが、テーブルには10000が127になって >>挿入されています。 >>設定変更などで、上記をエラーとして扱いテーブルには挿入されないといった >>挙動にすることは可能でしょうか? >> >>MySQLに関しては全くの素人で常識的な質問かもしれませんが >>よろしくお願いいたします。 >> >>// >>Kenji MATSUO<ml.kmatsuo@xxxxxxxxxx> >> >> > >
12689 2006-01-31 12:49 [Kenji Matsuo <ml.kma] SQL実行時のワーニングに関して 12690 2006-01-31 16:17 ┗[Tetsuro IKEDA <tetsu] -> 12691 2006-01-31 16:48 ┗[KenjiMATSUO <ml.kmat]