[前][次][番号順一覧][スレッド一覧]

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]