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 ?
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
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
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

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 ^^