2010年4月22日

[mysql 15281] Re: MySQL5.1DATE型項目の制限について

坂井です

鈴木さん、解決おめでとうございます。動作状況から考えて
STRICTモードでないわけがないので良かったです。

渡辺さん、Windows版でインストーラを使った場合SQLモードが
設定されるのですね。最近 noinstall 版しか使っていないので
気づきませんでした。。


・・・・とふと思い出して以前「超極めるMySQL」というムック
形式の書籍に書いた「Windowsインストーラバーチャルツアー」と
いう記事を読み返してみたら、(ver5.0.22の頃ですが)
ネットワーク設定の画面で Enable Strict Mode にチェックを
入れると sql-mode が設定される、という内容のことが書いてあり
ました(笑)。
まさに「過去の自分に学ぶ」といったところでしょうか(^^;)。

thank you

On Thu, 22 Apr 2010 12:47:27 +0900
KDDI 鈴木 正信 <masanobu@xxxxx> wrote:
>
>  渡辺さん
>
>  鈴木です
>  ご教示ありがとうございます。
>
>  my.iniを調べると指摘の通りで、
>  STRICT_TRANS_TABLES を外すと問題なく空白を代入出来ました。
>
>  坂井さん
>  先程 mysql> select @@sql_mode; の結果が空白だったと返信しましたが、
>  慌てた私の誤りで旧バージョンのMySQLで実行した結果でした。
>  申し訳ありません。
>
>  新バージョンでは、ちゃんと
>  STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
>  と表示されました。
>
>  皆様ありがとうございます。
>  本当に助かりました。
>
>
> >渡辺と申します。
> >
> >Windows版5.1.42を使ってます。
> >
> >
> >Windows版のデフォルトは「STRICT_ALL_TABLES が指定されている」と記憶しております。
> >
> >my.iniの下記の部分を探してみてください。
> ># Set the SQL mode to strict
> >sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
> >
> >参考:
> > http://dev.mysql.com/doc/refman/5.1/ja/server-sql-mode.html
> >
> >
> >> -----Original Message-----
> >> From: Nakase Hiroaki [mailto:h_nakase@xxxxx]
> >> Sent: Thursday, April 22, 2010 11:41 AM
> >> To: ml@xxxxx
> >> Subject: [mysql 15274] Re: MySQL5.1 DATE型項目の制限について
> >>
> >>
> >> 中瀬です
> >>
> >> 一応こちらのLinux版の5.1.44では
> >> create table t1(id integer,dt date);
> >>
> >> insert into t1 values(1,' ');
> >> Query OK, 1 row affected, 1 warning (0.01 sec)
> >>
> >> insert into t1 values(2,'');
> >> Query OK, 1 row affected, 1 warning (0.01 sec)
> >>
> >> insert into t1 values(3,' ');
> >> Query OK, 1 row affected, 1 warning (0.01 sec)
> >>
> >> insert into t1 values(4," ");
> >> Query OK, 1 row affected, 1 warning (0.01 sec)
> >>
> >> insert into t1 values(5,"");
> >> Query OK, 1 row affected, 1 warning (0.01 sec)
> >>
> >> select * from t1;
> >> +------+------------+
> >> | id | dt |
> >> +------+------------+
> >> | 1 | 0000-00-00 |
> >> | 2 | 0000-00-00 |
> >> | 3 | 0000-00-00 |
> >> | 4 | 0000-00-00 |
> >> | 5 | 0000-00-00 |
> >> +------+------------+
> >> 5 rows in set (0.00 sec)
> >>
> >> のように特に問題なくinsert自体は成功してますが。
> >>
> >>
> >> <201004221112.AHH95327.BBNOCTPV@xxxxx> の、
> >> "[mysql 15271] MySQL5.1 DATE型項目の制限について" において、
> >> "KDDI 鈴木 正信<masanobu@xxxxx>"さんは書きました:
> >>
> >> >
> >> > こんにちは 鈴木と申します
> >> >
> >> > Windows版 MySQL4.1.7(32) で動かしているWEBベースのシステムを
> >> > Windows版 MySQL5.1.45(64) に載せ変える為のTEST作業を行っていますが
> >> >
> >> > MySQL4.1.7では許容されていた DATE型項目への
> >> > 空白の代入が、MySQL5.1.45ではエラーになります
> >> > (null や '0000-00-00' はOK)
> >> >
> >> > 空白を'0000-00-00'に変換するとなると
> >> > 改修規模が膨れ上がるので、うろたえています・・・
> >> > 空白の代入を許す方法は無いものでしょうか?
> >> >
> >> > 何かご存知の方に解決の糸口をアドバイス頂ければ
> >> > と思い投稿致しました。何卒宜しくお願い致します。
> >> >
> >> >
> >>
> >>
> >> --------------------------
> >> 中瀬
> >>
> >> http://cmssvr.sytes.net/
> >> --------------------------
> >>
> >>
> >>
> >
> >
>
> 0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----#
> KDDI ブロードバンド・コンシューマ業務推進部
> 総務管理G
>     鈴木 正信
> au 080-5072-9414
> mailto:masanobu@xxxxx
> ――――――――――――――――――――――――
>  *******************************************************
> 【注意】この電子メールには、KDDI株式会社の機密情報が
> 含まれている場合が有ります。
> 正式なメール受信者で無い場合は、メールの複製、再配信
> または情報の使用を固く禁じております。
> エラー、手違いでこのメールを受け取られましたら、削除
> を行い配信者にご連絡をお願い致します。
>  *******************************************************

--
SAKAI Kei <sak2@xxxxx>

投稿者 xml-rpc : 2010年4月22日 12:58
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95270
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。