Leider trat der Fehler MYSQL_DATA_TRUNCATED während der internen Tests von IM im Unternehmen erneut auf und der Protokolldatensatz erschien beim Aufruf von mysql_stmt_fetch. Nach bisherigen Erfahrungen sollte dies an der unzureichenden Länge des angegebenen Ergebnismengen-Bindungsbereichs liegen. Ich habe es mehrmals überprüft, konnte das Problem jedoch nicht finden. Ich habe entsprechende Beziehungen im Code. Beispielsweise werde ich für char(20) das Array char buffer[20] in meinem Code definieren, um es zu speichern. Es sieht so richtig und perfekt aus. Mir blieb nichts anderes übrig, als jede Datenzeile auszudrucken, die Zeile mit dem Fehler zu finden und festzustellen, dass die Schriftart sich von den anderen unterschied. Zum Beispiel: 123456789 (halbe Breite) Dies wird nicht durch die Eingabe von Leerzeichen durch mich gesteuert, sondern über die Eingabemethode mit voller und halber Breite. Bei einem Zeichen voller Breite ist es doppelt so lang wie bei einem Zeichen halber Breite, und mein MySQL verwendet UTF-8, sodass ein Zeichen voller Breite in der Datenbank 3 Byte lang ist. Drucken Sie hiermit die Länge aus, dann können Sie es ablesen. Zu diesem Zeitpunkt müssen Sie das Problem berücksichtigen, die Länge des Typs im Code mit der Länge des Datenbankfelds abzugleichen, z. B. Zeichen in voller Breite oder chinesische Schriftzeichen. Das Zeichen char(20) in der Datenbank steht für 20 Zeichen, nicht für 20 Bytes. Bitte beachten Sie, dass Sie beim Abrufen von Daten nicht 20 als Länge des Ergebnissatzes verwenden. |
<<: WeChat-Miniprogramme ermöglichen nahtloses Scrollen
>>: Zwei Möglichkeiten zum Aktivieren der Firewall im Linux-Dienst
Vorwort: js ist eine Single-Thread-Sprache, daher...
1. Obere und untere Listen-Tags: <dl>..<...
Die spezifische Verwendung der Drag & Drop-Zo...
1. Es können nur chinesische Schriftzeichen eingeg...
Detailliertes Beispiel für das Datenbankbetriebso...
Inhaltsverzeichnis vite Bauen Konfiguration vite....
Das Popup hat nichts damit zu tun, ob Ihr aktuelle...
1. Installieren Sie cmake 1. Entpacken Sie das ko...
Hintergrundanforderungen: Mit zunehmender Größe d...
Ich bin auf ein sehr ungewöhnliches Problem mit ve...
Erste Schritte mit Datenvolumes Wenn wir im vorhe...
1. Stellen Sie sicher, dass das System über die e...
Vorwort Dieser Artikel stellt die fünfte Frage vo...
Bei der Verwendung von Docker wurden mehrere Prob...
ARGB ist ein Farbmodus, also der RGB-Farbmodus mi...