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

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]