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

mysql:2679

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Mon, 6 Nov 2000 00:17:29 +0900
Subject: [mysql 02679] Re: 空白文字の扱い

とみたです。

[moeru@xxxxxxxxxx (moeru)さんが]
["[mysql 02677] 空白文字の扱い" で曰く]

> 以下のフィールドを作成しました。
> 
>    title varchar(80) NOT NULL,
>    KEY title (title),
> 
> このとき、$titleに半角スペースが入ると
> 半角スペース以降の文字列が切られてデータベースに格納されてしまいます。
> 
> $sql = "insert into item (itemid,title) values ('$itemid','$title')";
> 
> Artist Name
> 
> だと、Artistだけしかデータベースに入りません。

そんなことはないはずです。PHP を介していると、PHP の問題の可能性も
考えられるので、そういうのは極力排して mysql から直接試してみては
いかがでしょうか?

> *それで、データ型をtinytextに変更しようとしたら
>  KEY title (title),がじゃましているのか変更できないです。
>  このとき、このインデックスを削除してデータ型を変更すれば
>  うまくいくような気もするのですが
>  インデックスは、削除してデータ型を変更した後、
>  自動的に再作成してくれるんでしょうか?

インデックスを削除したら削除されたまんまです。自動的に作成なんか
されたら困ります (^^;

TEXT とか BLOB にインデックスを設定したい場合は、長さも指定しないと
いけません。今回の例だと、こんな風に。

	KEY title (title(80))

作成済みのテーブルを ALTER TABLE で変更するんなら、

	ALTER TABLE item MODIFY title TINYTEXT, DROP INDEX title, ADD INDEX title (title(80));

こんな感じで。

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

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

      2677 2000-11-05 23:09 [<moeru@xxxxxxxxxx>  ] 空白文字の扱い                          
      2678 2000-11-06 00:08 ┣[tateyan <tateyan@xxx]                                       
->    2679 2000-11-06 00:17 ┣[とみたまさひろ <tomm]                                       
      2680 2000-11-06 00:32 ┗[Ko Tanikawa <dev@xxx]                                       
      2682 2000-11-06 02:05  ┗[<moeru@xxxxxxxxxx>  ]