Heim  >  Artikel  >  Datenbank  >  So lösen Sie das Problem der Rückgabe von Langtextfeldern in MySql

So lösen Sie das Problem der Rückgabe von Langtextfeldern in MySql

WBOY
WBOYnach vorne
2023-05-31 22:49:231601Durchsuche

Rückgabe des Langtextfelds in MySql

Langtextfelder werden in neueren Entwicklungen verwendet. Die maximale Länge dieses Felds in MySQL beträgt 4G. Zum Beispiel gibt es eine Artikeltabelle, und dann muss unsere Seite die Daten im Frontend in Form einer Liste anzeigen (wobei beispielsweise nur einige Felder wie Autor, Titel usw. angezeigt werden). eine Tabelle, um mehrere Datensätze anzuzeigen), aber die Tabelle Alle Informationen im Datensatz werden gefunden. Wenn der Benutzer dann auf einen Datensatz klickt, springt er zur Detailseite und zeigt die detaillierten Informationen an.

Dies führt zu Problemen, wenn die Datenmenge relativ groß ist oder der Textinhalt relativ umfangreich ist.

Mit zunehmender Datenmenge auf der Seite wird die Ladezeit der Seite länger, bis die Datenliste schließlich angezeigt wird. Dies wird den Nutzungseffekt erheblich beeinträchtigen. So lösen Sie das Problem der Rückgabe von Langtextfeldern in MySql

Lösung

So lösen Sie das Problem der Rückgabe von Langtextfeldern in MySqlNatürlich ist es ein Problem mit der SQL-Anweisung. Wenn Sie wie oben die gesamte Liste abfragen, können Sie anstelle des Langtextfelds auch andere Felder abfragen. Wenn der Benutzer dann auf ein bestimmtes Datenelement klickt, geht er zur Datenbank, um dieses Datenelement anhand der ID des Datenelements zu überprüfen. Zu diesem Zeitpunkt kann er den Langtext überprüfen.

Apropos, lassen Sie mich über eine andere Situation sprechen: Wenn die aus der Datenbank gefundenen Daten manchmal in eine Entitätsklasse gekapselt werden, kann der Wert eines bestimmten Felds nicht abgerufen werden, was null ist. Die SQL-Abfrageanweisung muss überprüft werden, um sicherzustellen, dass das Feld im zurückgegebenen Ergebnis dem entsprechenden Klassenfeld zugeordnet und gekapselt wurde.

Im Allgemeinen liegt dies daran, dass das Feld nicht im Ergebnissatz gekapselt ist.

Bereich des Textfelds in Mysql

Text: Speichert Nicht-Unicode-Daten variabler Länge mit einer maximalen Länge von 2^31-1 Zeichen.

Die Textspalte darf während des Speicher- oder Abrufvorgangs keine Groß-/Kleinschreibung aufweisen. Wenn Sie die Länge später angeben, wird diese Länge nicht angezeigt, was bedeutet, dass beim Einfügen von Daten kein Fehler auftritt , es überschreitet Ihre Die angegebene Länge kann weiterhin normal eingefügt werden.

In MySQL beträgt die maximale Länge einer Spalte vom Typ TEXT 65.535 Zeichen (also 2 hoch 16 minus 1).

Wenn Sie der Meinung sind, dass die Textlänge nicht ausreicht, können Sie

MITTELTEXT wählen. Die maximale Länge beträgt 16.777.215.

LONGTEXTDie maximale Länge beträgt 4.294.967.295

    Text wird hauptsächlich zum Speichern von nicht-binärem Text verwendet, z. B. Forenbeiträge, Fragen oder Fragen und Probleme Bekannte Baidu-Antworten und dergleichen.
  • MEDIUMTEXT最大长度为16,777,215。

  • LONGTEXT最大长度为4,294,967,295

  • Text

    Was geklärt werden muss, ist der Unterschied zwischen Text und Char Varchar Blob.

MySQL Textfeldlänge ändern_MySQL-Textfeldlänge? Das Problem unzureichender Textfeldlänge in der MySQL-Datenbank...

Der Typ ist eine Zeichenfolge variabler Länge, bis zu 65535 Zeichen;

Sie können den Feldtyp in MEDIUMTEXT (bis zu 16777215 Zeichen) oder LONGTEXT (bis zu 16777215 Zeichen) ändern bis 4294967295 Zeichen).

MySQL unterstützt 4 TEXT-Feldtypen (TINYTEXT, TEXT, MEDIUMTEXT und LONGTEXT) und dieser Beitrag befasst sich mit der maximalen Länge jedes dieser Feldtypen.

MyISAM-Tabellen in MySQL haben eine maximale Größe einer Zeile von 65.535 Bytes, sodass alle Daten in einer Zeile innerhalb dieser Grenze passen müssen. Die TEXT-Typen werden jedoch außerhalb der Tabelle selbst gespeichert und tragen nur 9 bis 12 Bytes zu dieser Grenze bei Die Datentypen TEXT können auch viel mehr Daten speichern als die Texttypen VARCHAR und CHAR, sodass Sie beim Speichern von Webseiten oder ähnlichen Inhalten in einer Datenbank die maximale Menge verwenden müssen Die Anzahl der Daten, die in jedem Datentyp gespeichert werden können, ist wie folgt: TINYTEXT256 Bytes

TEXT65.535 Bytes ~ 64 KB

MEDIUMTEXT 16.777.215 Bytes ~ 16 MB

LONGTEXT4.294.967.295 Bytes ~ 4 GB

In den meisten Fällen ist der TEXT-Typ wahrscheinlich ausreichend , aber wenn Sie ein Content-Management-System programmieren, ist es wahrscheinlich am besten, den MEDIUMTEXT-Typ für längere Seiten zu verwenden, um sicherzustellen, dass es keine Probleme mit Datengrößenbeschränkungen gibt.

Wie viele Zeichen belegen chinesische Schriftzeichen in utf8mb4

Antwort: 3

Die Erklärung von utf8mb4 im offiziellen MySQL-Handbuch lautet

Die Standard-UTF8 bestehender Datenbankversionen ist utf8mb3, die dort erwähnt wird. So lösen Sie das Problem der Rückgabe von Langtextfeldern in MySql

Unter utf8mb4 nimmt Englisch also 1 Byte ein, allgemeine chinesische Zeichen belegen 3 Bytes und Emojis belegen 4 Bytes.

Bezüglich des Fehlers beim Einfügen des Codes in die Emoji-Tabelle überprüfen Sie bitte, ob die Tabellenkodierung und die Datenbankverbindungskodierung beide utf8mb4 sind.

Fazit: Datenbank und Tabellen sind beide auf utf8mb4 eingestellt.

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Rückgabe von Langtextfeldern in MySql. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen