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.
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.
LösungNatü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
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 SieMITTELTEXT
wählen. Die maximale Länge beträgt 16.777.215.
LONGTEXT
Die 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
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 BytesTEXT65.535 Bytes ~ 64 KBMEDIUMTEXT 16.777.215 Bytes ~ 16 MBLONGTEXT4.294.967.295 Bytes ~ 4 GBIn 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.Antwort: 3Wie viele Zeichen belegen chinesische Schriftzeichen in utf8mb4
Die Erklärung von utf8mb4 im offiziellen MySQL-Handbuch lautet
Die Standard-UTF8 bestehender Datenbankversionen ist utf8mb3, die dort erwähnt wird.
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!