Accueil Blog ⇉ Oups, MySQL : Field ‘xx’ doesn’t have a default value

mysql

illustration_article

Tout se passait bien, installation EasyPHP finie, vérifiée, premiers tests et tout d'un coup : patatras !
"Field ‘xxxx’ doesn’t have a default value" apparaît dans la console. Le sourire se fige et le café prend un goût amer : La base de données ne veut pas insérer ou updater dans le cas de champs vides sans valeur par défaut -(

Deux solutions : reprendre les champs (ALTER) à convenance

ALTER TABLE mytable MODIFY mycolumn VARCHAR(255)




ce qui peut vite être fastidieux dans le cas de gros projets, ou plus simplement, modifier la config de votre Base.

Pour ce faire, éditer le fichier my.ini (ou parfois my.cnf), commenter cette ligne et ajouter un mode sql, ce qui donne :


#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql_mode = ""



Tout simplement. Vous pouvez ensuite redémarrer le serveur et utiliser INSERT et UPDATE sans vous soucier des champs vides.



Modifié le 30-09-2019
Article précédent


Diaporama fondu-enchainé JQuery en une ligne !
Article suivant


Tuto système de notation par étoiles PHP - CSS

Commentaires

Pas encore de commentaire

Publier un commentaire :



capcha   



Raccourcis : php css html sql js img

Prévisualiser
GB-Net.fr 2020



fleche haut