問題タブ [longtext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 長いテキストを保存する-mysqlwampserver
MySQLデータベース内に保存する必要のある長いテキストがあります。テキストは次のとおりです。
RS Marks教授は、同僚のMa Jan教授(NTU)とShlomo Magdassi教授(HUJI)と共に、シンガポールにNRFCREATEセンター「エネルギーと水管理のためのナノマテリアル」を設立しました。他の参加している同僚は、イブラヒム・アブドゥルハリム博士です。LeviGheberとArielKushmaro(BGU); 教授 OvadiaLevとDaniCohenと教授。Hua Zhang、Xiaodong Chen、Huo Fengwei、Li Shuzhou(NTU)。
「longtext」と「longblob」を使用しましたが、役に立ちませんでした。私が理解しているように、それは最大64k文字を保持できるはずです。
このような大きなテキストを保存する理由は、コードを入力せずに「ニュース」セクションを更新できるように、自分のWebサイトのユーザー向けに小さなシステムを構築しようとしているためです。小さなCMSのようなもの...
ありがとう
iphone - iphoneカスタムテーブルセル、UILabelはスクロール可能である必要があります
UILabel を含むカスタム テーブル セルがあります。私が望むことは、2 つの方法で実行できます。
1- 長いテキストを含む Label の高さを見つけ、rowHeight を設定してテキスト全体を表示します。
2- UILabel をスクロール可能にして、ユーザーが手でテキストを上下に動かして文字列全体を読めるようにします。
どちらをどうすればよいか、アドバイスをいただけないでしょうか。
php - php/mysql-長いテキストのフラグメントのみがDBに挿入されます
私のコードでは、変数を使用しています$content
。これは、長さが約200000のテキスト文字列です。
$session
この場合は関係ありません。次のデータを挿入しようとすると、..。
...新しい行がDBに生成され、、、が書き込まtime
れます。ただし、長さが〜200000の場合、挿入されるテキストは最初の〜1300文字の断片にすぎません。フィールドタイプはに設定され、照合はです。session
key_
value_
$content
longtext
utf8_bin
を選択する$c = strlen(mysql_real_escape_string($content));
と、「200000」についての何かがに書き込まれvalue_
ます。いずれの場合もmysql_errorはありません。
では、なぜ変数の「短い」フラグメントだけが挿入されるのでしょうか。
編集:
この問題を回避するために、を使用base64_encode()
してすべてのデータをエンコードすると、クエリがその役割を果たしました。
mysql - 長いテキストを使用したmysql innodb内部結合が非常に遅い
トランザクションをサポートするために、先週、1 つのプロジェクトのすべての MySQL テーブルを MyISAM から InnoDB に移行しました。これには のコマンドを使用しalter table
ました。
ほとんどは正常に動作しますが、特定のクエリの実行が非常に遅く、常にエラーが発生しますIncorrect key file for table '/tmp/#sql_xxxx_x.MYI
user
後で、問題をテーブルとテーブルの 2 つのテーブルの内部結合に絞り込みましたagreement
。user
そして、(ie ) の外部キー フィールドと(ie )agreement_id
の主キー フィールドの間で内部結合が行われました。agreement
id
user
テーブルには 50,000 行のデータしかありませんが、テーブルagreement
には 1 行しかありません。そして、ユーザーのインデックスを設定しましたagreement_id
。
いずれにせよ、これは非常に軽量なクエリのように見えますが、ボトルネック全体であることが判明しました。
の完全なスキーマは次のagreement
とおりです。
私が疑問に思っていることの 1 つは、テーブルremark
内の longtext フィールドですagreement
が、内部結合にフィールドを使用していません。実際、remark
クエリ結果で選択しなくても、クエリは遅くなります。
最後に、 の表をagreement
からinnoDB
に戻しMyISAM
、すべてが正常になるようにしました。クエリは 1 秒未満で終了します。
さて、私の質問は、実際にここで何が起こっているのでしょうか? innoDB テーブルにテキスト フィールドが含まれると、テーブルを内部結合に使用できなくなるということですか?
将来同じ問題を回避できるように、本当の理由を知ることができればいいのにと思います。
どうもありがとう。
java - 文字長が制限されたjpaからテーブルを生成する
varchar(700) を使用してデータベースにテキスト フィールドを作成したい (最大 700 文字が必要)。私はそれを次のように定義しようとしました:
...
テーブル生成には次のプロパティがあります。
コメントは varchar(700) にしたいです。長文にする理由ってあるの?varchar にする方法はありますか? これは簡単な質問かもしれませんが、解決策が見つかりません! 代わりに DDL を使用してテーブルを作成する必要がありますか?
ありがとうございました!
php - PHP を使用して Mysql データベース (「テキスト」データ型) に長いテキストを挿入する方法
PHP を使用して mysql データベースに長いテキストを挿入しようとしています。長いテキストを格納するためにデータ型 "Text" を使用していますが、問題は "Text" データ型が値を格納していないことですが、"Text" の代わりに "Blob" を使用すると機能します。
追加したいことの 1 つ: phpmyadmin でクエリを直接実行すると、機能します。そのため、php は「テキスト」データ型のデータベースにデータを挿入できないようです。この問題をグーグルで検索しましたが、まだ解決策が見つかりません。誰でもそれを修正する方法を教えてもらえますか? 前もって感謝します。
テーブルタイプ:MyISAM
hibernate - JPA:「列に対してデータが長すぎます」は変更されません
私のエンティティの 1 つに、Machinery
というString
プロパティがありますnotes
。JPA 2-Hibernate がスキーマを生成します。私の場合、RDBMS は MySQL です。
notes
列として作成されVARCHAR(255)
ます。これは正しいです。
ユーザーはレコードの作成を開始し、すべてが完全に機能しますが、悪名高いData too long for column "notes"
エラーが発生するユーザーもいます。
そのフィールドには、ユーザーの機械に関するメモを入れるのに十分なスペースがありません! わかりました、問題ありません。スキーマを変更しよう!
そこで、エンティティ クラスを開き、プロパティを次のように変更します。
ちなみに、私のpersistence.xml
宣言:
notes
アプリケーションの再起動後、Hibernate が私の列を a に変更してくれたことをうれしく思いますLONGTEXT
(私には十分です)。
そのため、最初にアプリケーションを使用して新しい「長いメモ」レコードを作成しようとしましたが、今でも「データが長すぎます」というエラーが表示されますLONGTEXT
。
INSERT
次に、 MySQL コマンド ラインからraw を実行してみましたが、うまくいきました。そのフィールドに長いメモを挿入できます!
最後にDROP
、ローカル/ステージング DB スキーマを変更hibernate.hbm2ddl.auto
するpersistence.xml
とcreate
、機能します。
JPAはまだそれがであると考えていVARCHAR
ますか? ある種のキャッシュまたはスキーマの情報を格納する場所はありますか?
明らかに、本番データベースを削除できません。では、列の種類をリセットまたは変更するにはどうすればよいでしょうか?
JBossAS7 JPA 2-Hibernate を使用しています。
mysql - MySQL 比較クエリの長いテキスト列
LONGTEXT
テキストの段落を保存するために使用する列があります。これらの段落内に次のようなものがあるとしましょう。
そのすべてのテキストから小さな文字列「COUNT: 75」を比較クエリすることは可能でしょうか?
私の最初の考えは次のようなものでした
これは可能ですか?
mysql - MySQL LONGTEXT ページネーション
を含むテーブル ポストがありますLONGTEXT
。私の問題は、特定の投稿の一部を取得したいということです (基本的にページング)
次のクエリを使用します。
これはなんとなくいいのですが、問題は位置と長さです。ほとんどの場合、最初の単語と最後の単語は完全ではありませんが、これは理にかなっています。
長さ y の位置 x から完全な単語を取得するにはどうすればよいですか?
performance - 非常に遅いロングテキストフィールドのinnodbテーブルをクエリする
さて、すべての最初の、私の英語で申し訳ありません。ユーザーがブログページなどのテキストを含めることができるテーブルでクエリを実行しようとしています。ユーザーは、HTML形式でコンテンツをデザインできます。私のテーブルでは、次のように保存されています。
私はそのユーザーが望むすべてのコンテンツを検索する必要があります。フィールド'texto'(私が使用している)はロングテキストフィールドであり、テーブルはinnodbです。全文検索はmyisamテーブル専用であるため使用できません。私は次のようにクエリを実行しました:
しかし、クエリは非常に遅く、永遠にかかります。テーブルには849のレコードがありますが、それは大きくありません。phpmyadminで同じクエリを作成すると、非常に長い時間がかかります。しかし、この分野には大きな記録があり、いくつかの記録にはビデオhtml、表、画像がありますが、それは上記のようなテキストです。
私は何ができますか???クエリのパフォーマンスをどのように改善できますか?私はあなたのすべての助けに感謝します。どうもありがとう。そしてまた、私の英語でごめんなさい。