Page 1 sur 1

Requète sql simple auto_increment

Posté : 25 oct. 2005, 21:20
par mibs
Hello

Je ne comprends pas pourquoi ma requête n'est pas acceptée

Code : Tout sélectionner

requête SQL: ALTER TABLE `new` CHANGE `numpost` `numpost` INT( 1 ) NOT NULL DEFAULT '1' AUTO_INCREMENT MySQL a répondu:Documentation #1067 - Invalid default value for 'numpost'
Ce champs doit s'auto incrémenter de manière à numéroter les posts
Pouvez-vous help me ? :P

merci d'avance

Posté : 25 oct. 2005, 21:28
par Xenon_54
Un champ AUTO_INCREMENT ne peut avoir de valeur par défaut. MySQL se chargera de lui en attribuer une automatiquement.

Requète sql simple auto_increment

Posté : 25 oct. 2005, 21:50
par mibs
merci de ton aide, ok je vois ce que tu veux dire, je viens de faire le test et j'obtient ceci

Code : Tout sélectionner

requête SQL: ALTER TABLE `new` CHANGE `numpost` `numpost` INT( 1 ) NOT NULL AUTO_INCREMENT MySQL a répondu:Documentation #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
je devrais définir une clé primaire alors j'ai fais ceci


requête SQL: Modifier

Code : Tout sélectionner

ALTER TABLE `new` ADD PRIMARY KEY ( `numpost` ( 1 ) ) MySQL a répondu:Documentation #1089 - Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
mais ici je défini aussi mal la chose apparement ?

Re: Requète sql simple auto_increment

Posté : 25 oct. 2005, 22:18
par Truc
MySQL a répondu:Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
ca veut dire que tu as deja un champ en auto-increment dans la table new !! tu ne peut en avoir 2 dasn une meme table, de plus si ce champ existe il doit etre clé.
Donc ton histoire de créeation de clé tu laisse de coté (si biensur tu en as deja une !! ce qui est obligatoire de toute façon (ou tres vivement conseilé))

Requète sql simple auto_increment

Posté : 25 oct. 2005, 22:42
par m1bs
Sur cette table c'est le seul que je veux mettre en auto_increment, car il doit absolument s'incrémenter.

Il faut que je réfléchisse encore pour trouver quitte à recréer la table

Re: Requète sql simple auto_increment

Posté : 25 oct. 2005, 22:48
par Truc
Sur cette table c'est le seul que je veux mettre en auto_increment, car il doit absolument s'incrémenter.
je n'ai pas dis le contraire verifi que tu n'as pas déjà un autre champ en auto.
Il faut que je réfléchisse encore pour trouver quitte à recréer la table
Ben si ta table a 2 champs et aucune valeur a l'interieur c'est sur c'est plus raide comme ça :lol:

Mais sinon l'erreur dis bien que tu as deja un champ faut d'abord changer le type de l'autre champ puis seulement celui-ci pour le mettre en auto.

requète sql dans une page php

Posté : 26 oct. 2005, 20:36
par m1bs
Merci de vos réponses

Bon je reviens à la charge j'ai pas trop de notions en sql alors par moment je comprends pas :?

Voici-ci dessous l'image lors de la sélection des paramètre pour les données sql, ( je l'ai défini en clé primaire)

Donc ce champ qui est testkey qui doit s'incrémenter en tant que nombre chaque fois que je poste un message

Et lors de ma sélection comme ci dessous ca ne passe pas, tjrs un message d'erreur, je paramètre faux ?


http://www.cs-view.com/upload/view.php? ... a82acc.jpg


Autre chose dans ma page web lorsque je post mon message, en meme temps testkey sera validé lui aussi une fois

donc lors d'un poste il se passe ceci:
dans la table new

-- il ajoute au champ post ce que je vient de poster
-- il ajoute 1 au champ testkey en faisant auto incrément


mais dans ma page web j'ai mis $num = 1 ; pour donner une valeur initiale au champ test key qui devra s'incrémenter mais peut-être que je m 'y prend prend encore une fois de plus mal... ^^

merci de votre aide

Re: requète sql dans une page php

Posté : 26 oct. 2005, 22:11
par pjl
Bon je reviens à la charge j'ai pas trop de notions en sql alors par moment je comprends pas :?
pourquoi ne passes tu pas par phpMyAdmin pour modifier tes tables ?

requète sql dans une page php

Posté : 26 oct. 2005, 22:34
par m1bs
C'est bien bien par my php admin que je passe, on le vois dans mon screen, le truc c'est que je n'arrive pas à valider comme j ai fait la sélection

Posté : 27 oct. 2005, 02:29
par Truc
visiblement tu ne parametre pas comme il faut:

la valeur du champ "Taille/Valeur" de prend pas "1/1", tu peut laisser vide, par défaut le champ sera configuré sur "11".

champ "Défaut" de meme tu laisse vide ! ... la remarque a été fait pourtant :wink:

exporte la table et fait un copier coller pour qu'on puisse voir la configuration.

En ce qui concerne ton probleme php, je pense que tu t'y prend mal aussi...
$num = 1 ; pour donner une valeur initiale au champ test key
mais c'est un autre probleme ça.
D'abord la table (BD) et ensuite php :wink:

requète sql dans une page php

Posté : 27 oct. 2005, 20:37
par mibs
Ok voilà le message que je reçois en définissant comme tu me dit

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

Ok donc une seul colonne doit être définie en tant que clé donc je doit atribuer un clé a cette colonne ok , mtn quelle clé appliquer a cette colonne avant de pouvoir valider ceci

requète sql dans une page php

Posté : 27 oct. 2005, 20:48
par mibs
hehe c'est bon tout est réglé et s incrémente normalement, merci all for conseil ^^