[前][次][番号順一覧][スレッド一覧]

mysql:9729

From: <takeshi@xxxxxxxxxx>
Date: Thu, 01 Jul 2004 11:40:04 +0900
Subject: [mysql 09729] Re: MySQL 4.1.2 の char と日本語

村上です。

At Tue, 29 Jun 2004 18:27:07 +0900 (JST),
Hirofumi Fujiwara wrote:
> 
> 藤原です。

>   実際に、テーブルを作ってテストしてみました。
> 
>   ALTERしても、以前から入っているデータはそのまま長くても入ったままで
>   した。
>   新たに入れたり変更しようとした場合にだけ、新しく解釈された長さで切ら
>   れますね。

そうなんです。
見た瞬間に「んん?」と思ってしまいます。

逆に 4.1 で char(255) で作ったテーブルを、4.0, 3.23 でアクセスさせると
これまた「え!?」な状態です。

> > >   1. で確認して、必要なら ALTERするので通常は充分と思います。
> > > 
> > >   たくさんテーブルができている場合もあるだろうから、指定したデータベー
> > >   スの全テーブル(または指定のテーブル)について、確認する手段の提供が
> > >   欲しいです。
> > 
> > SHOW TABLE STATUS; で出てくれればうれしいかな。
> > 
> > SQL で確認できれば、変換スクリプトも簡単に用意できそう。
> 
>   古いバージョンは、バイト単位で、新しいのが文字単位になっています。安
>   全を期せば、8 と書かれていたものは、新しい方でも 8 にすることでしょ
>   う。
> 
>   しかし、そうすると無駄も多くなるし、レコードの長さが長くなり過ぎて、
>   そちらの制限に引っ掛かってしまう場合も発生しかねませんね。
> 
>   できるだけ効率よく作ろうとすると、実際に入る文字数に合わせるべきでしょ
>   うから、自動は難しいのではないでしょうか。

サーバーが自動で変換することは、私は考えていません。
DB 管理者が、手動で変換する方がいいと考えています。
単純に shell でも Ruby でも、スクリプトを書けばいいと。

そのスクリプトの例が ML にでも MyNA の web などにでもあれば、
スクリプトが無いとあるとじゃ大違い、と考えています
スクリプトは簡単なものでいいと考えています。存在することが大事。

スクリプトでの判定方法ですが、

SHOW TABLE STATUS; 
に、ver という項目を付けて、そこに frm のバージョン番号を出すように
開発者側に投げておきました。
返ってくる数値や項目名はどうなるかは未定ですが、
SHOW TABLE STATUS; 
.... |ver|
.....|  7|
の結果を見ればいいということです。


スクリプトでの処理は、
SHOW TABLE STATUS
SHOW CREATE TABLE
ALTER TABLE
する。
ALTER の時の char(m) の長さの計算は、
ujis の時は、m = (n + 1) * 3
sjis の時は、m = (n + 1) * 2
ただし
 n は 4.1 で表示されたchar() の値で、これは 4.1 未満のテーブルの状態
 m は 変換後の値
 m は最大で 255
とすればいいと思っています。

微調整は、DB 設計者が行う、と。


Warning を出す件ですが、
Warning は、私の方からは、全てのクエリ実行時に出して欲しいという
話を投げましたが、
開発側は、全てには Warning を出したくないらしくて
Warning は限定されたクエリでしか出ないようになる雰囲気です。
# そりゃ、1バイトしか使っていない人にはうっとおしいのはわかるが、
# 仕様が大きく違うので出した方がいいぞ


================
村上 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]