mysql:10649
From: tomoya kawabata <tomoya kawabata <webmaster@xxxxxxxxxx>>
Date: Fri, 10 Dec 2004 23:17:04 -0800
Subject: [mysql 10649] はじめまして & 4.1.7のバグ報告
はじめまして。川畑と申します。
早速ですが4.1.7で不可解な現象が起きているのでご報告したいと
思います。
一応、最近の過去ログは調べたつもりですが、もし既出でしたら
申し訳ありません。
症状はと言いますと、UTF-8でテーブルを作成し varchrカラムに文字数を
指定したINDEXを作成するとUPDATE時のWHERE句の動作がおかしくなります。
まず、私の環境ですが RedHat 7.2をベースにしたほとんどオリジナルの
構成で、MySQLを次のオプションでコンパイルしています。
./configure --enable-assembler --with-mysqld-ldflags=-all-static --enable-thread-safe-client --with-charset=utf8
テスト用のテーブル構成
create TABLE t1 (
id int(10) unsigned NOT NULL auto_increment,
data VARCHAR(128) NOT NULL,
flg tinyint(3) unsigned NOT NULL default '0',
PRIMARY KEY (id),
INDEX idx_data (data(8))
) TYPE=MyISAM DEFAULT CHARACTER SET utf8;
まずレコードを挿入し、SELECTで検索してみます。
mysql> INSERT t1(data, flg) VALUES("yahoocojp",0);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * from t1 WHERE data = 'yahoocojp';
+----+-----------+-----+
| id | data | flg |
+----+-----------+-----+
| 1 | yahoocojp | 0 |
+----+-----------+-----+
1 row in set (0.00 sec)
ここまでは問題ありません。次に同じWHERE句でUPDATEを実行すると・・
mysql> UPDATE t1 set flg=1 WHERE data = 'yahoocojp';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
何故かマッチしません。
ちなみに、= の代わりにLIKEを使うと、このケースでは成功するのですが、
LIKEでも失敗する文字パターンがありました。
どんな文字列だったのかは残念ながら失念しましたが、
その場合、例えば文字パターンが abcde だったとすると、
~WHERE data like 'abcde' では失敗しますが、
~WHERE data like '%abcde' だと
成功します。
次に、INDEXを破棄すると・・
mysql> ALTER TABLE t1 DROP INDEX idx_data;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> UPDATE t1 set flg=1 WHERE data = 'yahoocojp';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
これはマッチします。
クライアントは、シェルからとPHPからの両方で試しましたが同様の症状が出ます。
ここに投稿する前に某掲示板のMySQL板でも同じ内容の投稿をしたのですが、
それを読んでいただいた方からも症状の再現確認ができたとの報告がありました。
その方によるとucs2では大丈夫だったそうです。
---------------------------------
川畑智哉 (kawabata tomoya)
URL http://www.planet-green.com/
Mail webmaster@xxxxxxxxxx
---------------------------------
-> 10649 2004-12-11 16:17 [tomoya kawabata <web] はじめまして & 4.1.7のバグ報告 10652 2004-12-11 22:03 ┗[とみたまさひろ <tomm] 10656 2004-12-14 16:03 ┗[tomoya kawabata <web]