mysql:14643
From: HIRATSUKA Sadao <HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx>>
Date: Fri, 10 Oct 2008 12:33:47 +0900
Subject: [mysql 14643] Re: MySQL 5.026のDATE型のINSERTの挙動を、MySQL4.026の挙動に合わせたい
平塚です。 ちょっと無理みたいです。 On Wed, 08 Oct 2008 11:15:15 +0900 Taichiro Yoshida <taichiro.yoshida@xxxxxxxxxx> wrote: > しかしMySQL5.026では、無効な日付と解釈され"0000-00-00"がINSERTされます。 5.0では、年月日などの区切り文字に使えるのは 「latin1 で Punctuation フラグのたった文字」だけです。 このへんの文字のことです ⇒ !"#$%&'()*+,-./:;<=>?[\]^_` sql_common/my_time.cc を見る限り、 my.cnf から設定を持ってきている様子はありません。 ちなみに繰り返してもよいのでこんなのは動いてしまいます。 insert into xxx values ('2008!!!10#(((10 11&&50-=-=-30'); また、latin1 以外のキャラクタセットをまったく意識していないので 一部の漢字は運良く通る場合があります。 mysql> insert into xxx values ('2008槽01漕02 11燥22争35'); Query OK, 1 row affected (0.06 sec) # これはバグだと思います。運良く通ることを期待してはいけません > MySQL4.026では、 > > INSERT INTO test (test_date) VALUES("2008年10月07日"); > > のように、DATE型に"YYYY年MM月DD日"のように日本語が混じっていても、 > "2008-10-07"という値がINSERTされます。 4.0.26はきちんと調べていませんが、どうやら 「数字以外は全部区切り文字」とみなしているようです。 -- 平塚貞夫 hiratsuka.sadao@xxxxxxxxxx
14641 2008-10-08 11:15 [Taichiro Yoshida <ta] MySQL 5.026のDATE型のINSERTの挙動を、MySQL4.026の挙動に合わせたい -> 14643 2008-10-10 12:33 ┗[HIRATSUKA Sadao <hir] 14644 2008-10-10 13:07 ┗[Taichiro Yoshida <ta]