[Gelöst] Nach Update Fehler "Field ... has no default value"

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Antworten
HarryF
Mitglied
Beiträge: 4
Registriert: 07.04.2015 10:48

[Gelöst] Nach Update Fehler "Field ... has no default value"

Beitrag von HarryF »

Systemdaten:
Board-Version 3.1.3
Datenbank-Server: MySQL 5.5.41-0+wheezy1
PHP Version: 5.3.29

Falls mehr benötigt wird, bitte Bescheid geben. Danke!
---------------------------------------

Hallo,

nachdem mein Uralt-Forum (3.0.10) verständlicherweise Probleme machte, als die SQL-Datenbanken bei meinem Provider auf MySQL 5.5 hochgezogen wurde (ich hätte es verhindern können, habe aber in dem Moment nicht an das Forum gedacht), wollte ich nun ein Update auf 3.1.x machen. Das Update funktionierte völlig ohne Fehler und auch die Daten sind alle da. Allerdings bringt das Forum nach wie vor den gleichen Fehler, wie es bereits die Version 3.0.10 gebracht hatte:

Wenn ich versuche, etwas zu posten, ob Antwort oder neuen Thread, kommt eine Meldung wie
SQL ERROR [ mysql4 ]

Field 'post_edit_reason' doesn't have a default value [1364]

SQL

INSERT INTO aion_posts (forum_id, poster_id, icon_id, poster_ip, post_time, post_visibility, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_locked, topic_id) VALUES (12, 2, 0, '84.133.155.32', 1428396800, 1, 1, 1, 1, 1, '', 'Re: PN Nachrichten', 'tes', '28b662d883b6d76fd96e4ddc5e9ba780', 0, '', '3fs1amek', 1, 0, 1240)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysql.php
LINE: 181
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysql->sql_query()

FILE: [ROOT]/includes/functions_posting.php
LINE: 1878
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/posting.php
LINE: 1394
CALL: submit_post()
Ich habe zwar die Empfehlung gesehen, zunächst auf 3.0.12 zu aktualisieren, doch das hat wegen der falschen MyQSL-Version nicht funktioniert. Bei der Suche in diesem und im englsichen Forum ist mir aufgefallen, dass dieses Problem bei anderen ebenfalls auftaucht, aber immer nur bei der 3.0.x Version. Eine Lösung für 3.1.x konnte ich nirgendwo finden.

Hat jemand einen Hinweis, was ich tun kann? Ich danke schonmal im Voraus.

Gruß
Harry
Zuletzt geändert von HarryF am 07.04.2015 18:07, insgesamt 1-mal geändert.
Pfiffy
Mitglied
Beiträge: 702
Registriert: 03.09.2008 20:45
Wohnort: München
Kontaktdaten:

Re: Nach Update Fehler "Field ... has no default value"

Beitrag von Pfiffy »

Gib dem Datenbankfeld "post_edit_reason" halt mal einen Defaultwert. Kann ja nicht schaden.

Grücce
Pfiffy
Kein Support per PN! Ich gebe hier nur Hilfe zur Selbsthilfe. Wer ein Forum betreibt sollte sich intensiv mit allem auseinandersetzen, was dazu gehört! HTML, CSS, PHP, SQL und sogar Englisch kann man lernen!
http://www.cctreff.de
http://www.cabrio-ausfahrten.de
HarryF
Mitglied
Beiträge: 4
Registriert: 07.04.2015 10:48

Re: Nach Update Fehler "Field ... has no default value"

Beitrag von HarryF »

Hallo,

danke für die schnelle Antwort. Grundsätzlich ist mir die Idee auch schon gekommen. Doch zwei Gründe haben mich bisher davon abgehalten: 1. Ich habe im englischen Forum gelesen, dass dies keine Lösung ist (zumindest bei v3.0.x). 2. Es gibt eine ganze Reihe von Feldern ohne Default-Wert und ich bin davon ausgegangen, dass der Fehler dann auch anderweitig auftritt.

Das habe ich jetzt auch mal ausprobiert und meine Vermutung wurde bestätigt. Trage ich bei "post_edit_reason" einen Default-Wert ein, kommt die Meldung bei einem anderen Feld (z.B. topic_first_poster_name). Da stellt sich mir nun die Frage, ob ich jetzt überall, wo das nicht der Fall ist, einen Default-Wert eintragen soll. Eigentlich kann das ja nicht der Sinn der Sache sein, aber wenn's hilft, mache ich das natürlich.

Gruß
Harry
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11982
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: Nach Update Fehler "Field ... has no default value"

Beitrag von Crizzo »

Hi,


mach mal ein Datenbank Backup und führe die Datei aus: https://raw.githubusercontent.com/phpbb ... grader.php

Grüße
HarryF
Mitglied
Beiträge: 4
Registriert: 07.04.2015 10:48

Re: Nach Update Fehler "Field ... has no default value"

Beitrag von HarryF »

Hallo,

habe ich gemacht und das Script scheint auch durchgelaufen zu sein, doch eine Veränderung hat es nicht gegeben. Eine Überprüfung der Felder hat ergeben, das die Modifys nicht in die Datenbank geschrieben worden sind. Beispielsweise ist das Feld post_edit_reason noch immer vom Typ "Blob" und ohne Zeichensatz, obwohl es nach Script jetzt vom Typ Varchar(255) mit einem UTF8_bin Zeichensatz sein soltle.

Es war doch richtig, dass ich die Script-PHP-Datei in des Root-Verzeichnis des Forums kopiert und von da aus gestartet habe, oder? OK, die Frage ist blöd, den ich habe ja gesehen, dass auf die richtige Datenbank zugegriffen wurde, d.h. die config.php ist wohl eingelesen worden. Das sollte also passen.

Gruß
Harry
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Nach Update Fehler "Field ... has no default value"

Beitrag von Elsensee »

Das PHP-Script ändert nichts an deiner Datenbank. Das Script erstellt nur die Befehle dafür. :wink:

Führe sie also nach einem umfangreichen Datenbank-Backup in phpMyAdmin oder einem ähnlichen Tool aus. :)
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
HarryF
Mitglied
Beiträge: 4
Registriert: 07.04.2015 10:48

Re: Nach Update Fehler "Field ... has no default value"

Beitrag von HarryF »

Da hab ich mich ja mal wieder elegant als Noob geoutet! Peinlich... :oops:

Danke, das war es wohl. Ich habe noch nicht ausgiebig getestet, aber die Fehler, die ich heute Mittag noch festgestellt habe, treten jetzt nicht mehr auf. Mal schauen, ob das durchgängig so bleibt - ich bin guter Dinge.

Schnelle und kompetente Unterstützung, Klasse!

Viele Grüße
CasitaDriver
Mitglied
Beiträge: 25
Registriert: 31.12.2015 14:23

Re: [Gelöst] Nach Update Fehler "Field ... has no default va

Beitrag von CasitaDriver »

Hallo, ich habe genau das Problem auch , jedesmal wenn ich einen Beitrag absenden will kommt die Fehlermeldung .

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Field 'post_edit_reason' doesn't have a default value [1364]

SQL

INSERT INTO phpbb_posts (forum_id, poster_id, icon_id, poster_ip, post_time, post_visibility, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_locked, topic_id) VALUES (48, 2, 0, '89.0.236.73', 1451988041, 1, 1, 1, 1, 1, '', 'Re: Bitte an alle registrierten Mitglieder: "melden" Button', 'kl', '16ec114932520d2b9c18a28121d515af', 0, '', '2wa17zmm', 1, 0, 1396)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/includes/functions_posting.php
LINE: 1905
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/posting.php
LINE: 1402
CALL: submit_post()
Ich habe mir die Spalte in der Datenbank angesehen , dort steht überall Blob 0 was das bedeutet ?? keinen Schimmer sorry !


nun lese ich hier oben das dieses Scipt helfen soll , aber ich als absoluter Leie in diesen Dingen frage mich wie geht das ?? :oops: kann mir da Bitte jemand helfen ?

Gruß Axel
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11982
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: [Gelöst] Nach Update Fehler "Field ... has no default va

Beitrag von Crizzo »

Die Datei habe ich oben verlinkt. Die speicherst du als .php Datei, kommentierst Zeile 25 aus und lädst sie in den root deines Forums hoch. Danach ausführen d.h. mit dem Browser aufrufen wie eine Website.

Die Datei zeigt dir dann SQL Code an, den du per phpmyadmin ausführen musst.

Vorher ein Backup der Datenbank machen!

PS: Bitte den Beitrag im anderen Thema zu diesem Problem löschen. Danke.
Antworten

Zurück zu „Support-Forum“