ConLite

  • Status Assigned
  • Prozent erledigt
    0%
  • Aufgabentyp Bug Report
  • Kategorie Core
  • zuständig
    Ortwin Pinke
  • Betriebssystem All
  • Schweregrad mittel
  • Dringlichkeit eilig
  • betrifft Version ConLite 2.0 RC
  • fällig in Version ConLite 2.0
  • fällig am unbestimmt
  • Stimmen 1
  • versteckt
gehört zu Projekt: ConLite
angelegt von Ortwin Pinke - 05.05.2015

FS#141 - SQL-Error: Data truncated for column 'visited'

Got the following error while testing ConLite with PHP 5.6 and MySQL 5.5.5

[05-May-2015 11:58:20 UTC]  error: 1265 (Data truncated for column 'visited' at row 1) - info: /ConLite/conlite/main.php?area=client&frame=1&contenido=cef3c97414c53bf7fe3f292d2cdac331 INSERT INTO
                          cl_stat
                          ( idstat, idcatart, idlang, idclient, visited )
                      VALUES (
                          24,
                          23,
                          1,
                          1,
                          '0000-00-00 00:00:00')

Error based on wrong field value in cl db for field visited (varchar(14)).
Change field type to datetime, write api class for db-table and change all calls to use the api class.

Frank schrieb am 19.09.2015 17:31

Das scheint an einer strikten Einstellung in MySQL 5 zu liegen.
http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/3497779-how-fix-error-1265-data-truncated-column-row.html Passiert zum Beispiel, wenn '' und Null verwechselt werden.
http://stackoverflow.com/questions/1704304/what-is-this-error-database-query-failed-data-truncated-for-column-column-na

Es wird hier so sein, dass die Spalte ´visited´ gar nicht für '0000-00-00 00:00:00' ausgelegt ist.
varchar(14) hat eine Länge von 14 Zeichen aber '0000-00-00 00:00:00' hat 19 Zeichen.
Hier wäre statt einer Charakter Spaltendefinition ein Timestamp oder Datetime besser.
Dadurch kann MySQL auch richtig mit Datum rechnen (das geht besser als in PHP).

Project Manager
Ortwin Pinke schrieb am 20.09.2015 09:03

Servus Frank,

generell muss da noch viel Optimierung an der DB-Struktur betrieben werden. Grundsätzlich müssen all diese Felder, in denen ein Datum mit dieser Formatierung steht, in DateTime gewandelt werden. Nichts anderes steht aber auch bereits im 1. Posting dieses Eintrages.

"Error based on wrong field value in cl db for field visited (varchar(14)).
Change field type to datetime, write api class for db-table and change all calls to use the api class."

Lade...

Verfügbare Tastenkürzel

Aufgabenliste

Aufgabendetails

Aufgabenbearbeitung