mysql:9562
From: <takeshi@xxxxxxxxxx>
Date: Mon, 07 Jun 2004 23:38:50 +0900
Subject: [mysql 09562] Re: MySQL 4.1.2 の日本語の扱い(Re: MySQLの問題点)
村上です。 4.1.2 の問題なので、スレッド変えました。 At Mon, 7 Jun 2004 22:22:59 +0900, TAKT Co.,ltd. wrote: > 清川といいます > > うろ覚えですし正確に調査したわけではないのですが > 以前3.23.58から4.1.1-alphaにUPしたとき、char型のデータの一部が消えたように見えました > 本当のところは消えていないのだと思いますが > > データはそのままで、サーバ側プログラムのみのUPだったのですが、 > どうやら3.23.58で、char(8)などとしているカラムがあると、4.1.1-alphaにUPすると > 自動的にchar(2)に変換されてしまうようです。で、変換されたことに気づかずに > 8桁のデータをINSERTをすると、当然8-(2*3)=2桁は挿入されませんでした > 表面上は問題なく動いていたので、桁が足りないと気づいた時には > 挿入したはずのデータは失われていました 次のようになります。 #--- 3.23.58 ----- % mysql --default-character-set=ujis test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 3.23.58 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE a (c char(8)); Query OK, 0 rows affected (0.00 sec) mysql> SHOW CREATE TABLE a; +-------+-------------------------------------------------------------+ | Table | Create Table | +-------+-------------------------------------------------------------+ | a | CREATE TABLE `a` ( `c` char(8) default NULL ) TYPE=MyISAM | +-------+-------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> INSERT INTO a VALUES ('あいうえ'); SELECT * FROM a; Query OK, 1 row affected (0.00 sec) +----------+ | c | +----------+ | あいうえ | +----------+ 1 row in set (0.00 sec) mysql> Bye #--- 4.1.2 ----- % mysql --default-character-set=ujis test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 4.1.2-alpha Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SHOW CREATE TABLE a; +-------+------------------------------------------------------------------------------------+ | Table | Create Table | +-------+------------------------------------------------------------------------------------+ | a | CREATE TABLE `a` ( `c` char(2) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=ujis | +-------+------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT * FROM a; +----------+ | c | +----------+ | あいうえ | +----------+ 1 row in set (0.00 sec) mysql> INSERT INTO a VALUES ('かきくけ'); SELECT * FROM a; Query OK, 1 row affected, 1 warning (0.00 sec) +----------+ | c | +----------+ | あいうえ | | かき | +----------+ 2 rows in set (0.00 sec) mysql> Bye #---------------- + 4.1 から、char() はバイト数ではなく、文字数に仕様変更された。 + EUC-JP は、最大で 1 日本語文字に 3 バイト使用する。 なので、 int(8 / 3) = 2 うーむ…… ================ 村上毅 takeshi@xxxxxxxxxx
9539 2004-06-07 13:23 ["Ryuichiro Munechika] MySQLの問題点(PostgreSQLカンファレンスにて) 9540 2004-06-07 13:40 ┣[Hidekazu Ikeda <hike] 9542 2004-06-07 17:01 ┃┗["Ryuichiro Munechika] 9543 2004-06-07 17:08 ┃ ┣[<yasuyuki@xxxxxxxxxx] 9544 2004-06-07 17:38 ┃ ┃┗["Ryuichiro Munechika] 9545 2004-06-07 18:09 ┃ ┃ ┗[<yasuyuki@xxxxxxxxxx] 9553 2004-06-07 21:22 ┃ ┃ ┣["Ryuichiro Munechika] 9555 2004-06-07 22:02 ┃ ┃ ┗[UNO Shintaro <uno@xx] 9546 2004-06-07 18:55 ┃ ┗[Hidekazu Ikeda <hike] 9552 2004-06-07 21:19 ┃ ┗["Ryuichiro Munechika] 9549 2004-06-07 20:46 ┣[<takeshi@xxxxxxxxxx>] 9551 2004-06-07 21:16 ┃┗["Ryuichiro Munechika] 9563 2004-06-07 23:44 ┃ ┗[Sumito_Oda <oda@xxxx] 9554 2004-06-07 21:26 ┣[とみたまさひろ <tomm] 9557 2004-06-07 22:12 ┃┣[<takeshi@xxxxxxxxxx>] 9558 2004-06-07 22:22 ┃┣["TAKT Co.,ltd." <t@x] -> 9562 2004-06-07 23:38 ┃┃┗[<takeshi@xxxxxxxxxx>] Re: MySQL 4.1.2 の日本語の扱い(Re: MySQLの問題点) 9579 2004-06-09 08:32 ┃┃ ┣[Yukihiro KAWADA <kaw] 9626 2004-06-13 18:18 ┃┃ ┣[Hirofumi Fujiwara <f] Re: MySQL 4.1.2 の日本語の扱い 9688 2004-06-18 10:02 ┃┃ ┗[<takeshi@xxxxxxxxxx>] MySQL 4.1.2 の char と日本語 (Re: MySQL 4.1.2 の日本語の扱い) 9700 2004-06-23 09:47 ┃┃ ┗[<takeshi@xxxxxxxxxx>] 9702 2004-06-23 10:39 ┃┃ ┗[Hirofumi Fujiwara <f] Re: MySQL 4.1.2 の char と日本語 9703 2004-06-23 10:57 ┃┃ ┗[<takeshi@xxxxxxxxxx>] 9720 2004-06-29 18:27 ┃┃ ┗[Hirofumi Fujiwara <f] 9729 2004-07-01 11:40 ┃┃ ┣[<takeshi@xxxxxxxxxx>] 9733 2004-07-01 16:24 ┃┃ ┃┗[Hirofumi Fujiwara <f] 9730 2004-07-01 12:47 ┃┃ ┗[<takeshi@xxxxxxxxxx>] 4.1 と UTF-8 (Re: MySQL 4.1.2 の char と日本語) 9732 2004-07-01 15:04 ┃┃ ┣[IWAMURO Motonori <vm] 9735 2004-07-01 19:48 ┃┃ ┃┗[Hirofumi Fujiwara <f] Re: 4.1 と UTF-8 9758 2004-07-02 22:26 ┃┃ ┃ ┣[<takeshi@xxxxxxxxxx>] 9760 2004-07-02 22:39 ┃┃ ┃ ┃┗["Ryuichiro Munechika] 9768 2004-07-03 18:06 ┃┃ ┃ ┃ ┗[Hirofumi Fujiwara <f] 9764 2004-07-03 06:24 ┃┃ ┃ ┗[Shuichi Tamagawa <sh] 9774 2004-07-05 11:59 ┃┃ ┃ ┗[Hirofumi Fujiwara <f] 9734 2004-07-01 19:23 ┃┃ ┣[Hirofumi Fujiwara <f] Re: 4.1 と UTF-8 9757 2004-07-02 21:19 ┃┃ ┃┗[<takeshi@xxxxxxxxxx>] 9769 2004-07-03 19:27 ┃┃ ┃ ┗[Hirofumi Fujiwara <f] 9806 2004-07-10 14:04 ┃┃ ┗[<takeshi@xxxxxxxxxx>] 9828 2004-07-12 17:19 ┃┃ ┣[Hirofumi Fujiwara <f] Re: 4.1 と UTF-8 9843 2004-07-13 15:31 ┃┃ ┗[Shuichi Tamagawa <sh] 9865 2004-07-15 15:55 ┃┃ ┗[Hirofumi Fujiwara <f] Re: 4.1 と UTF-8 9868 2004-07-16 03:52 ┃┃ ┗[Shuichi Tamagawa <sh] 9559 2004-06-07 22:46 ┃┣["Ryuichiro Munechika] 9569 2004-06-08 09:40 ┃┃┣[Hidekazu Ikeda <hike] 9577 2004-06-08 22:48 ┃┃┗[とみたまさひろ <tomm] 9627 2004-06-13 22:02 ┃┃ ┗[Hirofumi Fujiwara <f] 9591 2004-06-10 22:47 ┃┗[Jun Moriya <jmoriya@] 9565 2004-06-08 08:59 ┗[yoshi <yosihisa@xxxx] 9566 2004-06-08 09:11 ┗[Hidekazu Ikeda <hike] 9568 2004-06-08 09:32 ┗[yoshi <yosihisa@xxxx] 9570 2004-06-08 09:47 ┗[Hidekazu Ikeda <hike] 9571 2004-06-08 10:26 ┗[yasuyuki <yasuyuki@x] 9572 2004-06-08 10:37 ┗[Hidekazu Ikeda <hike] 9574 2004-06-08 11:58 ┗[えんどう <yasuyuki@x] 9575 2004-06-08 15:22 ┣["Ryuichiro Munechika] 9613 2004-06-12 22:10 ┃┗[とみたまさひろ <tomm] 9576 2004-06-08 20:19 ┗[Hidekazu Ikeda <hike]