mysql:12690
From: Tetsuro IKEDA <Tetsuro IKEDA <tetsuro@xxxxxxxxxx>>
Date: Mon, 30 Jan 2006 23:17:31 -0800
Subject: [mysql 12690] Re: SQL実行時のワーニングに関して
池田です。 松尾さんこんにちは。 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> > > -- Tetsuro Ikeda, Intern Development & Support MySQL Inc, www.mysql.com Office: +1-206-336-2030 Mobile: +1-206-661-4293 Are you MySQL certified? www.mysql.com/certification
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]