Umstellung MariaDB Tabellen von MyISAM auf InnoDB
Hallo zusammen,
ich habe einen MariaDB Server von Version 5.x auf MariaDB 10.3 geändert und in einer Datenbank die Engine von MyISAM auf InnoDB umgestellt mit Alter table...
Danach habe ich noch die Verschlüsselung für innoDB Tabellen aktiviert.
Die Datenbank gehört zu einer Webanwendung, aus der Daten via Formular in die Datenbank eingetragen werden. Die Formulare werden nur noch in die Datenbank eingetragen, wenn alle Felder ausgefüllt sind, ansonsten erhalte ich den Fehler 1366 : Incorrect double value: '' for column 'xxx'... Leider finde ich mit Google zu dem Fehler nichts, entweder ist was anderes beschrieben oder es ist noch truncated dabei und beschreibt nicht den Fehler bei mir. Das Feld xxx z.B. kann NULL sein und hat den Standard 0.00. Wird also bei der Erfassung nichts für den Preis im Formular eingetragen, soll der Standard 0.00 eingetragen werden. Funktionierte mit der alten Tabelle unter MyISAM und MariaDB 5.x so bestens. Komischerweise, wenn ich die alte MyISAM Tabelle wiederherstelle, habe ich dieses Verhalten jetzt auch dort...
Wie bekomme ich es hin, das trotzdem ein INSERT erfolgt, auch wenn "leere Strings" übergeben werden, bzw. wenn Felder in der Anwendung nicht ausgefüllt werden. Es ist nämlich so, das ein Datensatz erfasst werden können muss, ohne das zum Zeitpunkt der Erfassung alle Felder befüllt sind.
Besten Dank für eine Info!
Hier mal ein konkretes Beispiel der Fehlermeldung:
1366 : Incorrect double value: '' for column 'preis' at row 1
Query: INSERT INTO planung (datum, auftraggeber, ladeort, empfangsort, unternehmer, preis, unt_anteil, gewinn, eingang, ausgang, faehre_zoll, abwicklung, infos, maut, ktransa , dpo_ldm, dpo_gewicht, dpo_fpf_gewicht, dpo_ldmart, dpo_ldm_anzahl, dpo_ware, dpo_ware2, dpo_bezeichnung, dienstgut, ladenummer) VALUES ('2018-08-06', '', '', '', '', '', '', '0', '2018-08-06', '2018-08-06', '', '0', '', '', '' , '', '', '', '', '', '', '', '', '', '' )
ich habe einen MariaDB Server von Version 5.x auf MariaDB 10.3 geändert und in einer Datenbank die Engine von MyISAM auf InnoDB umgestellt mit Alter table...
Danach habe ich noch die Verschlüsselung für innoDB Tabellen aktiviert.
Die Datenbank gehört zu einer Webanwendung, aus der Daten via Formular in die Datenbank eingetragen werden. Die Formulare werden nur noch in die Datenbank eingetragen, wenn alle Felder ausgefüllt sind, ansonsten erhalte ich den Fehler 1366 : Incorrect double value: '' for column 'xxx'... Leider finde ich mit Google zu dem Fehler nichts, entweder ist was anderes beschrieben oder es ist noch truncated dabei und beschreibt nicht den Fehler bei mir. Das Feld xxx z.B. kann NULL sein und hat den Standard 0.00. Wird also bei der Erfassung nichts für den Preis im Formular eingetragen, soll der Standard 0.00 eingetragen werden. Funktionierte mit der alten Tabelle unter MyISAM und MariaDB 5.x so bestens. Komischerweise, wenn ich die alte MyISAM Tabelle wiederherstelle, habe ich dieses Verhalten jetzt auch dort...
Wie bekomme ich es hin, das trotzdem ein INSERT erfolgt, auch wenn "leere Strings" übergeben werden, bzw. wenn Felder in der Anwendung nicht ausgefüllt werden. Es ist nämlich so, das ein Datensatz erfasst werden können muss, ohne das zum Zeitpunkt der Erfassung alle Felder befüllt sind.
Besten Dank für eine Info!
Hier mal ein konkretes Beispiel der Fehlermeldung:
1366 : Incorrect double value: '' for column 'preis' at row 1
Query: INSERT INTO planung (datum, auftraggeber, ladeort, empfangsort, unternehmer, preis, unt_anteil, gewinn, eingang, ausgang, faehre_zoll, abwicklung, infos, maut, ktransa , dpo_ldm, dpo_gewicht, dpo_fpf_gewicht, dpo_ldmart, dpo_ldm_anzahl, dpo_ware, dpo_ware2, dpo_bezeichnung, dienstgut, ladenummer) VALUES ('2018-08-06', '', '', '', '', '', '', '0', '2018-08-06', '2018-08-06', '', '0', '', '', '' , '', '', '', '', '', '', '', '', '', '' )
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 382436
Url: https://administrator.de/forum/umstellung-mariadb-tabellen-von-myisam-auf-innodb-382436.html
Ausgedruckt am: 22.12.2024 um 01:12 Uhr
6 Kommentare
Neuester Kommentar
Ich schätze das liegt an irgendwelchen restriktiveren Regeln die in Maria DB 10 nun per default aktiv sind.
Man macht auch erlich gesagt nicht einfach so ein Update über 5 Major-Versionen. Du hast Glück das es überhaupt noch irgendwie funktioniert.
Welche Webanwendung ist es? Hat der Hersteller diese für MDB 10.3 freigegeben?
Man macht auch erlich gesagt nicht einfach so ein Update über 5 Major-Versionen. Du hast Glück das es überhaupt noch irgendwie funktioniert.
Welche Webanwendung ist es? Hat der Hersteller diese für MDB 10.3 freigegeben?