Newsroom

SQL ignore error SQLSTATE avec sql-mode

On peut parfois être amené à travailler sur des bases de données pas toujours très clean (reprise d'un projet). Si vous partez alors sur une install de mysql banale avec un mysql Server, vous pouvez vous retrouver avec des requêtes qui ne s'exécutent plus avec succès, et un programme qui ne fonctionne plus, avec des messages d'erreurs dans vos logs qui indiquent: PHP Warning:  PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY000]: General error: 1364 Field 'myfield' doesn't have a default value in mon_chemin\toto.php on line 124

 

 

Cas n°1: vous corrigez la base de données (bon courage)

Cas n°2: vous devez uniquement effectuer quelques petites modifs, vous n'avez pas le temps de reprendre la base de données. Il faut donc que les erreurs de type SQLSTATE ne soient pas bloquantes, même si ce n'est pas très propre. Il vous faut tout simplement modifier la variable sql-mode. Vous pouvez juste mettre:

sql-mode="";

et les erreurs SQLSTATE ne seront plus bloquantes.

 

 

Commentaires

Pas encore de commentaire
avatar du commentateur
Guest
mardi 21 septembre 2021

Image Captcha

captcha

By accepting you will be accessing a service provided by a third-party external to https://www.pulsar-agency.com/