2011年8月 2日

[mysql 15606] Re: Indexをつけるとと、update のwhere 句マッチしない [Ver.4.1.23]

こんにちは、平塚です。

On Tue, 2 Aug 2011 13:26:57 +0900
野副 勝己 <nozoe@xxxxx> wrote:

> OS: Redhat ES4.5
> MySQL: Ver. 4.1.23

> `mac_id_no` varchar(8) NOT NULL DEFAULT '',
> KEY `mac_id_no` (`mac_id_no`)
> ) ENGINE=InnoDB AUTO_INCREMENT=15000 DEFAULT CHARSET=utf8

以下のバグにヒットしているように見えます。

Bug #28878
InnoDB tables with UTF8 character set and indexes cause wrong result for DML
http://bugs.mysql.com/bug.php?id=28878

もしUTF-8が必須でなければ、mac_id_no のみ
別のキャラクタセットにしてみるのはいかがでしょうか。

| Welcome to the MySQL monitor. Commands end with ; or \g.
| Your MySQL connection id is 1 to server version: 4.1.22-community-max-nt
|
| mysql> alter table test modify c2 varchar(10) character set latin1;
| Query OK, 0 rows affected (0.22 sec)
| Records: 0 Duplicates: 0 Warnings: 0
|
| mysql> show create table test\G
| *************************** 1. row ***************************
| Table: test
| Create Table: CREATE TABLE `test` (
| `c1` int(11) NOT NULL default '0',
| `c2` varchar(10) character set latin1 default NULL,
| PRIMARY KEY (`c1`)
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8
| 1 row in set (0.00 sec)

また、別のバグレポートですと、

Bug #31395
equality match in a where clause against an utf8 field fails
http://bugs.mysql.com/bug.php?id=31395

・like検索にすると回避できる
・4.1.22では発生しない

という情報があります。

--
平塚貞夫 hiratsuka.sadao@xxxxx


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




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