Page 1 sur 1
Auto increment ne fonctionne pas
Posté : 05 nov. 2005, 21:14
par alexbad
J'ai installé Mysql, Apache et tout le tralala (ça doit faire 5 fois je le dis sur le forum) et là j'ai un petit problème. Lorsque je met ma colonne id en auto_increment, il exige que je la remplisse bref, le auto_increment ne change rien du tout. Quelqu'un saurait pas pourquoi?
Posté : 05 nov. 2005, 21:17
par pascaltje
ça se passe sur quelle requete? on peut voir ce que tu donnes à MySQL ?
si dans un insert tu précises le champ, forcément ça va pas aller.
A+
Pascal
Posté : 05 nov. 2005, 21:19
par alexbad
Ça marche pas dans mes requêtes INSER INTO mais même dans phpmyadmin il me fous à la porte sans une valeur précise au id
Et faut noter que même sans préciser le champ, c'est supposé marcher, avant, j'avais easyphp et ça fonctionnait très bien
Posté : 05 nov. 2005, 21:24
par cadav0r
il faut que tu lui indique 'NULL' dans l'INSERT pour que ca marche
Posté : 05 nov. 2005, 21:25
par pascaltje
fais voir la structure de la table (avec les infos sur les champs), ça devrait donner une piste.
A+
Pascal
Posté : 05 nov. 2005, 21:27
par alexbad
Comme tu veux, mais je rappelle que ça marchait avant sur easyphp:
Code : Tout sélectionner
CREATE TABLE `lapage_mp` (
`id` mediumint(9) NOT NULL auto_increment,
`sujet` varchar(255) NOT NULL,
`message` longtext NOT NULL,
`date` varchar(255) NOT NULL,
`a` varchar(255) NOT NULL,
`de` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Posté : 05 nov. 2005, 21:29
par pascaltje
Comme tu veux, mais je rappelle que ça marchait avant sur easyphp:
Code : Tout sélectionner
CREATE TABLE `lapage_mp` (
`id` mediumint(9) NOT NULL auto_increment,
`sujet` varchar(255) NOT NULL,
`message` longtext NOT NULL,
`date` varchar(255) NOT NULL,
`a` varchar(255) NOT NULL,
`de` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
tu as un champ qui s'appelle date, et je pense que c'est un mot clé en SQL. change le nom en "ladate" par exemple, ça devrait mieux marcher.
sinon, quel est le message d'erreur?
A+
Pascal
Posté : 05 nov. 2005, 21:33
par alexbad
La requête suivante:
Code : Tout sélectionner
INSERT INTO `lapage_mp` ( `id` , `sujet` , `message` , `ladate` , `a` , `de` )
VALUES (
'', 'blablabla', 'blablabla', 'blablabla', 'blablabla', 'blablabla'
)
affiche cette erreur dans phpMyAdmin
Code : Tout sélectionner
MySQL a répondu:Documentation
#1366 - Incorrect integer value: '' for column 'id' at row 1
Et comme tu as vu, j'ai remplacé date par ladate et pourtant ça a rien changé
Posté : 05 nov. 2005, 21:36
par pascaltje
dans auto_increment il y a auto qui veut dire automatique; ça veut que c'est créé automatiquement, donc tu ne dois rien préciser, même pas le champ, try this:
Code : Tout sélectionner
INSERT INTO `lapage_mp` ( `sujet` , `message` , `ladate` , `a` , `de` )
VALUES (
'blablabla', 'blablabla', 'blablabla', 'blablabla', 'blablabla'
)
pour le champ date, c'est mieux de ne changer de nom car sinon tu devras toujours utiliser les `` autour du nom de champ, ce qui est pas hyper cool.
A+
Pascal
Posté : 05 nov. 2005, 21:37
par alexbad
Ça y est, t'es vraiment un As. Le pire, c'est que la requête que j'avais envoyé, je l'avais copié de phpMyAdmin
Merci beaucoup