- Status Assigned
- Prozent erledigt
- 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
- Frank (19.09.2015)
- versteckt
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.
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).
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."