Auto Increment des ID : du changement
Je viens de remarquer qu'un de mes scripts ne passait pas avec MySQL 5, la raison : Il n'acceptait pas un champ vide pour l'id, je m'explique.
Voici la requête que j'essayais de réaliser :
INSERT INTO mail (id, mail) VALUES ('', 'test');
et la méchante réponse de MySQL :
#1366 - Incorrect integer value: '' for column 'id' at row 1
(Il faut savoir que le champ ID est en auto_increment, d'ou cette requête)
La solution à été d'ignorer juste le champ id :
INSERT INTO mail (mail) VALUES ('test');
Si vous aviez l'habitude de faire comme avant sachez qu'avec MySQL 5 cela ne fonctionne plus.
Plus embêtant : phpMyAdmin utilisant le premier type de requête, il n'est plus possible d'insérer un enregistrement...
[Edit 8/12/2005 16h53] :
Si vous n'avez pas envie de refaire toute vos requêtes, vous pouvez remplacer les quotes par un NULL :
INSERT INTO mail (id, mail) VALUES (NULL, 'test');
Le problème de phpMyAdmin est réglé depuis la version 2.7.0
Commentaires
C'est également l'info que je recherchais.
Merci.
Aïe !
L'est en vacances ton antispam ? :P
Voui, un peu comme mon blog, et moi :D !
J'ose pas regarder le nombre de spams...
on peut aussi régler le probleme sans toyucher au code en mettant sql-mode a '' ou TRDITIONAL dans le fichier my.ini
Laissez le vôtre !
Les commentaires pour ce billet sont fermés.
Ah ! Je cherchais une réponse à la question que je me posais, et voici que je vois la réponse dans ton billet !
Merci beaucoup pour avoir donné ce petit truc, de remplacer '' par NULL :))