En fait, documenté mais très ennuyeux : les conversions automatiques pour les dates incorrectes et autres entrées incorrectes.
Avant MySQL 5.0.2, MySQL est indulgent envers les valeurs de données illégales ou incorrectes et les contraint à des valeurs légales pour la saisie de données. À partir de la version 5.0.2 de MySQL, cela reste le comportement par défaut, mais vous pouvez modifier le mode SQL du serveur pour choisir un traitement plus traditionnel des mauvaises valeurs, de sorte que le serveur les rejette et abandonne l'instruction dans laquelle elles se trouvent.
En ce qui concerne les dates : parfois, vous aurez la "chance" que MySQL n'ajuste pas les données saisies pour qu'elles soient proches des dates valides, mais qu'il les stocke comme suit 0000-00-00
ce qui, par définition, n'est pas valable. Cependant, même dans ce cas, vous auriez pu vouloir que MySQL échoue plutôt que de stocker silencieusement cette valeur pour vous.