Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.

Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
T
tts 0.png 02.05.2014 14:43

MySQL-Fehler beim Hinzufügen von Dateien zu Alben

Hi Remo, seit ein paar Tagen funktioniert auf einer meiner Seiten das Hinzufügen von Dateien zu Alben nicht mehr. Im Error Log finde ich folgenden Fehler: [Column 'timestamp' cannot be null] in EXECUTE("INSERT INTO FileSetFiles(fsfID,fID,fsID,timestamp,fsDisplayOrder) VALUES (NULL,'10','2',NULL,'0')") Beim Hoster wurde vor Kurzem auf MySQL 5.6 umgestellt. Sonstige Änderungen sind mir nicht bekannt. Hast du irgend ne (grobe) Idee, woran's liegen könnte oder was ich versuchen könnte? Viele Grüße Karl Umgebung: PHP 5.5.11, c5.6.1.2 (5.6.3.1 hab ich auch schon versucht.)
R
Remo 0.png 03.05.2014 11:58
Hi Karl ich vermute, dass da der Default Wert auf der Spalte verschwunden ist. Kannst du im phpMyAdmin folgenden Befehl ausführen: show create table FileSetFiles Dort müsste DEFAULT CURRENT_TIMESTAMP zu finden sein.. Viele Grüsse Remo
T
tts 0.png 03.05.2014 13:49
Auf der betroffenen Website (die schon seit längerem auf dem Server läuft) sieht das Ganze so aus: CREATE TABLE `FileSetFiles` ( `fsfID` int(10) unsigned NOT NULL AUTO_INCREMENT, `fID` int(10) unsigned NOT NULL, `fsID` int(10) unsigned NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `fsDisplayOrder` int(10) unsigned NOT NULL, PRIMARY KEY (`fsfID`), KEY `fID` (`fID`), KEY `fsID` (`fsID`) ) ENGINE=MyISAM AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 Gestern hab ich mal zu Testzwecken eine komplett neue Installation auf dem selben Server aufgesetzt. Da sieht's anders aus: CREATE TABLE `FileSetFiles` ( `fsfID` int(10) unsigned NOT NULL AUTO_INCREMENT, `fID` int(10) unsigned NOT NULL, `fsID` int(10) unsigned NOT NULL, `timestamp` timestamp NOT NULL, `fsDisplayOrder` int(10) unsigned NOT NULL, PRIMARY KEY (`fsfID`), KEY `fID` (`fID`), KEY `fsID` (`fsID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 Hier erscheint dann auch die selbe Fehlermeldung beim Hinzufügen zu Alben. Als Übergangslösung hab ich dann den Default-Wert für die Spalte timestamp auf NULL gesetzt - dann klappt alles. Aber ich würd lieber gern wissen, woran's liegt ...
R
Remo 0.png 03.05.2014 15:32
Ja, da fehlt definitiv etwas. Ich würde aber nicht null als default sondern currenttimestamp nehmen, ansonsten hast du vielleicht plötzlich noch andere Probleme. Ich könnte mir vorstellen, dass das mit einer Änderung bez. Strict Mode zu tun hat (http://dev.mysql.com/doc/refman/5.6/en/sql-mode.html#sqlmode_strict_trans_tables). Da müsste man aber etwas genauer schauen..
T
tts 0.png 04.05.2014 13:32
Leider macht es keinen Unterschied, ob ich den Default-Wert auf NULL oder CURRENT_TIMESTAMP setze. In beiden Fällen wird die Spalte timestamp mit NULL befüllt, sobald ich eine Datei zu einem Album hinzufüge. Ob es funktioniert oder nicht, hängt davon ab, ob ich den NULL-Wert für die Spalte timestamp zulasse oder nicht: NULL-Wert zugelassen >>> Datei wird zum Album hinzugefügt. NULL-Wert nicht zugelassen >>> Exception wie oben beschrieben. Den SQL-Mode habe ich mir auch mal angesehen. Der ist auf "NO_ENGINE_SUBSTITUTION" gesetzt. Ich befürchte, hier kommen wir nicht weiter, Remo. Ich sag trotzdem danke!
R
Remo 0.png 05.05.2014 08:48
Ich würde in diesem Fall versuchen das Problem auf die relevanten SQL Abfragen zu beschränken. Wenn du ein CREATE TABLE + INSERT INTO Statement hast, wo das Problem auftritt, dann lässt es sich sicher einfacher beheben. Es scheint auch, als gäbe es ein paar Fälle wo ON UPDATE CURRENT_TIMESTAMP nicht funktioniert. Selber hatte ich das Problem aber nie..
T
tts 0.png 05.05.2014 10:32
Ich bin gerade auf die Ursache des Problems gestoßen, hier ist es exakt beschrieben: http://stackoverflow.com/questions/21911557/mysql-5-5-5-6-default-values Auf meinem Problem-Server ist die Variable explicit_defaults_for_timestamp auf ON gesetzt.
R
Remo 0.png 05.05.2014 11:15
Bin überrascht, dass da nicht mehr Leute das Problem haben.. Merci für den Link!
R
Remo 0.png 06.05.2014 17:20
Die Leute von https://www.udmedia.de/ haben das geflickt, hab einen Pull Request daraus erstellt https://github.com/concrete5/concrete5/pull/1768

Nachricht hinzufügen