255文字以上の扱いについて


  2005-10-20 14:37:33  No: 18190

おはようございます。
現在、D7でCSVからDBへのコンバーターを作っているのですが
255文字以上のINSERTを行おうとするとエラーになってしまいます。

そこで、調べた結果変数自体に値を入れられないみたいなんですが
みなさんは、どういう対処法で、行っているのか教えて頂きたく
思い書き込みさせていただきました。

すいませんが、よろしくお願いいたします。


ヨーダ  2005-10-20 16:56:32  No: 18191

> 255文字以上のINSERTを行おうとするとエラーになってしまいます。

これはD7とは関係ないのでは?
目的のフィールドがchar(255)で宣言されていて、そのエラーが発生する可能性が考えられるはず…。

はずしていますかね?


@っしー  2005-10-20 19:07:10  No: 18192

おそらく、DBのフィールド型の問題でしょう

TEXTのBlob型でもDBのマニュアルで確認されては如何でしょう。

ん?
DBのコンバートということは、DBは既に設計されていているということですよね。他のアプリから同じDB(Table)が使われているときは、型変更にはご注意ください。


  2005-10-23 22:05:38  No: 18193

ヨーダ さん、@っしー さん、お返事ありがとうございます。

ものは、CSV形式になっている掲示板の内容をPHPのSqliteに移行
しようというものなんですが、PHPからは255文字以上書き込めているので
テーブルの形式では無いと思われ。

多分↓のような Query1.SQL.text 自体に、255文字以上いれられないものと思われます。
Query1.sql.text:='INSERT INTO new_bbs('comment') VALUES ('○○ここが255文字以上○○');';

また、試しに

memo1.text:='○○ここが255文字以上○○';

な感じにしてもエラーになってしまいます。

何が悪いか検討がつかないため是非ご指導おねがいいたします。


ヨーダ  2005-10-24 03:17:04  No: 18194

> Query1.sql.text:='INSERT INTO new_bbs('comment') VALUES ('○○ここが255文字以上○○');';

確かにその場合は255文字がリミットになりますが、適当にクエリーを空白かなんかで区切って、Query1.sql.Add('query');の形で入れてやればOKですよ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加