Fehlermeldung: Field xxx doesn't have a default value
Beschreibung: Fehlermeldung: Field xxx doesn't have a default value / Incorrect string value
Kategorie: Fehlermeldungen
Link zu diesem Artikel: Alles auswählen
[url=https://www.phpbb.de/kb/viewarticle?a=40]Knowledge Base - Fehlermeldung: Field xxx doesn't have a default value[/url]
Quelle: Knowledge Base - Doesn't have a default value errors
Problem
Beim Ausführen von einer oder mehreren Aktionen in Deinem Forum erhältst Du diese oder eine ähnliche Fehlermeldung:Diese Fehlermeldung kann sich auf verschiedene Datenbankfelder beziehen.Field 'forum_last_post_subject' doesn't have a default value [1364]
Das Feld in der Beispielfehlermeldung variiert also.
Aber die Fehlerursache ist immer die gleiche.
Zusätzlich kann auch der folgende Fehler (sowie ähnliche Fehler) eine ähnliche Ursache und Lösung haben:
Incorrect string value: '\xF0\x9F\x98\x84Al...' for column 'message_text' at row 1 [1366]
Ursache
Gewöhnlich ist der Grund, dass die Datenbank aktualisiert worden ist.Zum Beispiel: Datenbankaktualisierung von MySQL 3.0.x oder 4.0.x auf 4.1.x oder 5.x
Sehr oft wird diese Aktualisierung durch den Web-Hoster ohne Vorwarnung durchgeführt.
Das eigentliche Problem ist, dass das Datenbank Schema der alten Datenbank nicht sauber mit dem Schema der neuen Datenbank zusammenarbeitet.
Das Ergebnis dieser Aktualisierung, ohne das Schema anzupassen, ist oben genannte Fehlermeldung.
Dieses Problem erscheint mittlerweile immer öfter in phpBB-Support-Foren und viele Benutzer melden es sogar fälschlicherweise als Bug in der phpBB-Software.
Das Entwicklerteam von phpBB hat sich entschieden, diesem "Problem" anzunehmen und erstellte ein Script, welches das Problem beheben kann.
Die Lösung
- Mache vor dem Benutzen der Lösung ein komplettes Backup Deines Forums ( Dateien und Datenbank )
- Ganz wichtig: es sollte die aktuelle phpBB-Version bei dir installiert sein.
- Für die phpBB-Version 3.1.x verwendest du diese Vorlage: https://github.com/phpbb/phpbb/blob/3.1 ... grader.php
Für die php-BBVersion 3.2.x verwendest du diese Vorlage:
https://github.com/phpbb/phpbb/blob/3.2 ... grader.php
Kopiere den Inhalt der Vorlage und erstelle eine php-Datei. Verwende dafür einen geeigneten Editor wie z.B. Notepad++.
Speichere deine Datei als mysql_upgrader.php ab.
- WICHTIG! Für ältere phpBB-Versionen gilt:
Lade das gepackte Archiv herunter -->
Beachte bitte Deine phpBB3-Version:
- phpBB 3.0.14 --> mysql_upgrader.php
- phpBB 3.0.13 --> mysql_upgrader.php
- phpBB 3.0.12 --> mysql_upgrader.php
- phpBB 3.0.11 --> mysql_upgrader.php
- phpBB 3.0.10 --> mysql_upgrader.php
- phpBB 3.0.9 --> mysql_upgrader.php
- phpBB 3.0.8 --> mysql_upgrader.php
- phpBB 3.0.7 --> mysql_upgrader.php
- phpBB 3.0.6 --> mysql_upgrader.php
- phpBB 3.0.5 --> mysql_upgrader.php
- phpBB 3.0.4 --> mysql_upgrader.php
- phpBB 3.0.3 --> mysql_upgrader.php
- phpBB 3.0.2 --> mysql_upgrader.php
- phpBB 3.0.1 --> mysql_upgrader.php
- phpBB 3.0.0 --> mysql_upgrader.php
- Entpacke das Archiv auf Deinem PC.
- Lösche die folgende Zeile im Script
Code: Alles auswählen
die("Please read the first lines of this script for instructions on how to enable it");
- WICHTIG! Für ältere phpBB-Versionen gilt:
- Benutze Deinen FTP-Client um die Datei mysql_upgrader.php in den Forums-Root hochzuladen ( dorthin, wo die config.php liegt ).
- Rufe nun das Script über Deinen Browser auf. Wenn Deine URL http://www.phpbb.de wäre, müsstest Du es wie folgt aufrufen:
Code: Alles auswählen
http://www.phpbb.de/mysql_upgrader.php
- Dies wird veranlassen, dass das Script Deine Datenbank untersucht und Dir das korrekte Schema für Deine Datenbankversion anbietet. Es wird Dir einige SQL-Anweisungen zeigen, die Du dann über Deinen phpMyAdmin ausführen lassen kannst oder in eine MySQL-Konsole eingibst.
Oder Du gibst diese SQL-Anweisungen Deinem Web-Hoster, damit er sie für Dich ausführt.
Das ist ein ganz wichtiger Schritt. Eine der drei aufgeführten Aktionen MUSS zwingend durchgeführt werden, um die Datenbank zu reparieren. - Sobald die SQL-Anweisungen durchgeführt worden sind, sollten alle Fehler dieser Art behoben sein und Dein Forum funktioniert wieder einwandfrei.
- Lösche bitte nun mit Deinem FTP-Client die Datei mysql_upgrader.php von Deinem WebSpace.
Hinweis
Das Script wurde entwickelt, um die Standardtabellen vom phpBB3-Schema zu aktualisieren. Es wird keine Probleme lösen, die durch MODs bzw. Extensions veränderte Tabellen entstanden sind.Solltest Du Probleme durch MODs oder Extensions veränderte Tabellen haben, wende Dich bitte an das passende MOD-Support-Forum bzw. Extension-Support-Forum oder an den Autor der Modifikation/Extension.