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

mysql:14241

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Mon, 1 Oct 2007 01:28:33 +0900
Subject: [mysql 14241] Re: フィールドごとのキャラクタセットの異なる指定

とみたです。

On Sun, 30 Sep 2007 23:54:51 +0900
柴垣 <akiro@xxxxxxxxxx> wrote:

>  うーん。やっぱりそうですか。latin1を指定しようとしたフィールド
> には、実際には半角英数しか使うつもりはないのですが、たしかに漢字
> などと比較される惧れがまったくないとは言い切れないかもしれません。

カナを使わないなら ANK じゃなくて ASCII ですね。ASCII であれば、latin1
より ascii charset を使った方がいいと思います。日本語と比較されるとエラー
になってしまうのは変わりないですが…。

>  このような質問を投げた理由は、
> ・5バイトですむはずのフィールドに10バイトも確保するのはもったい
> ない、という思いと
> ・「A0001」でいっぱいになるフィールドに、「A0001」も入って
> しまうのが納得できない、という単純な感覚からなのですが、
> 
> 文字列をバイト数に換算して扱い、「シフトJIS1文字の領域に半角
> 英数ならば2文字入る・・・」という文化からの移行には、しばらく頭を
> 悩ませそうです。

binary 型を使うというのはどうでしょう。ただのバイト列として扱われるので、
日本語と比較してもエラーになりませんし、binary(5) で 5バイトだけしか確
保されません。

ただし、char 型と違って、大文字小文字が区別されるというのは注意しないと
いけませんけど。

-- 
とみたまさひろ <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

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

     14237 2007-09-30 03:17 [柴垣 <akiro@xxxxxxxx] フィールドごとのキャラクタセットの異なる指定
     14238 2007-09-30 18:25 ┗[とみたまさひろ <tomm]                                       
     14240 2007-09-30 23:54  ┗[柴垣 <akiro@xxxxxxxx]                                     
->   14241 2007-10-01 01:28   ┗[とみたまさひろ <tomm]                                   
     14242 2007-10-02 01:30    ┣[柴垣 <akiro@xxxxxxxx]                                 
     14243 2007-10-02 01:33    ┗[柴垣 <akiro@xxxxxxxx]