Bug avec l'Insert sous phpMyAdmin

Petit nouveau ! | 3 Messages

18 nov. 2005, 00:17

Bon, en fait, j'ai parlé sans réfléchir : pour que l'insertion fonctionne avec MySQL 5 (onglet "Insérer"), il faut modifier le fichier my.ini : dans la section

Code : Tout sélectionner

# Set the SQL mode to strict sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
(ligne 86 environ),
il suffit de supprimer

Code : Tout sélectionner

STRICT_TRANS_TABLES
ce qui donne :

Code : Tout sélectionner

# Set the SQL mode to strict sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
et là, ça marche comme avec MySQL 4.1 (après avoir redémarré mysld) : les auto-incréments sont respectés, les chaînes vides en tant que valeur par défaut également.

Pour plus de précisions, voir http://dev.mysql.com/doc/refman/5.0/fr/ ... -mode.html

Pas très propre, mais ça évite de saisir explicitement le numéro d'auto-incrément.

A noter - mais cela a déjà été dit - que ce problème ne se pose QUE dans phpmyadmin, et uniquement lorsqu'on cherche à ajouter des tuples en passant par l'onglet "Insérer" ; par contre, toute commande SQL INSERT, que ce soit dans la fenêtre SQL de phpmyadmin ou dans un script PHP, n'impose absolument pas de saisir la valeur des champs ayant une valeur par défaut, dont l'index auto-incrémenté. Mais il est vrai que cette façon de saisir des tuples, en passant par l'onglet "Insérer", est bien pratique...

Petit nouveau ! | 3 Messages

20 nov. 2005, 10:56

ou encore : installer phpmyadmin-2.7.0-beta1 ; là, pas besoin de modifier my.ini... (cf. Fixes : Strict mode and auto-increment fields insertion).