- Status Assigned
- Percent Complete
- Task Type Bug Report
- Category Core
-
Assigned To
Ortwin Pinke - Operating System All
- Severity Medium
- Priority High
- Reported Version ConLite 2.0 RC
- Due in Version ConLite 2.0.0
-
Due Date
Undecided
-
Votes
1
- Frank (19.09.2015)
- Private
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."