Gibt es eine Möglichkeit, alle mysql-Warnungen auf fatale Fehler hochzustufen? Ich möchte jede Datenkürzung (einschließlich Bruchteils) vermeiden.
In einigen Modi erzeugt MySQL Warnungen anstelle der Fehler, die vom SQL-Standard verlangt werden.
Sie möchten sicherlich einen Fehler erzeugen, wenn wichtige Daten entfernt werden, aber Sie möchten wahrscheinlich keinen Fehler erzeugen, wenn ein COUNT (colname) -Ausdruck einige Zeilen mit Nullen in der Spalte findet und diese für Zählzwecke ignoriert (ein Standard) Warnung).
Da MySQL dem Standard mehr entspricht, können Warnungen hinzugefügt werden, die keine Auswirkungen auf die Datenintegrität haben.
Wenn Sie MySQL in einem Modus verwenden, der dem SQL-Standard besser entspricht, können Sie die inakzeptablen Warnungen in Ihrem Anwendungscode abfangen und entsprechende kompensierende Aktionen hinzufügen.
Ich kann nicht sagen, ob dies alle Warnungen für Fehler fördert, also entschuldigen Sie sich, wenn Sie sich dessen bereits bewusst sind, aber es gibt einige MySQL Server-Modi , die für Sie funktionieren könnten:
TRADITIONELL
Lassen Sie MySQL sich wie ein "traditionelles" SQL-Datenbanksystem verhalten. Eine einfache Beschreibung dieses Modus ist "Geben Sie einen Fehler statt einer Warnung ein", wenn Sie einen falschen Wert in eine Spalte einfügen.
STRICT_ALL_TABLES
ist Teil von TRADITIONAL
:
Der strikte Modus steuert, wie MySQL Eingabewerte behandelt, die ungültig oder nicht vorhanden sind. Ein Wert kann aus verschiedenen Gründen ungültig sein. Beispielsweise hat es möglicherweise den falschen Datentyp für die Spalte oder liegt möglicherweise außerhalb des Bereichs