Requete sql

Signaler
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
bonjour a tous

j'aurai voulu savoir si il est possible de supprimer une reference d'un champ d'une table mysql et que par la suite l' "ID" qui est en auto_increment redescende d'une unité

ex :

601 : morceau 1
602 morceau 2
603 morceau 3

je supprime 602 : morceau2

et je veut me retrouver avec
601 : morceau 1
602 : morceau3

c'est possible ?

15 réponses

Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
hello..

je ne connais pas le moyen de faire ça..

en tous cas , c'est super dansgereux !

un id autoincrmental te permet de faire d'identifier chacune de tes entrées, de manieres uniques, à travers des tables croisés..

si tu changes les id dans une tables, tes rérérences croisées ne sont plus valables...






-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012

donc si je peut pas faire ca est ce que je peut au moin calculer le nb de reference en deduisant du resultat les trou de la table ??

et c'est bien matinal ca

ca fait plaisir ca fait demain 6heure du mat que j'atten ...
Messages postés
445
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 mars 2007
1
Sous Oracle il n'y a pas d'auto-incrémant, et comme j'en avais besoin d'un j'ai découvert les triggers... Je pense que c'est ce vers quoi il faut que tu te tournes (...mais je ne sais pas si ça existe sous mysql)

Arn;o)
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
nombre de référence ??
tu veux dire quoi par là? un count(*) ??
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012

ben je sais pas trop car dans la doc count est utilisé bizzarement pour ce que je veut faire

en faite je veut pouvoir savoir combien il y a d'enregistrement mais pas grace a l'id car y risque d'y avoir des trou dans la base
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
ben count est là pour ça.

select count(*) from ta_table

si dsnta table tu as
1 - A
2 - B
4 - D

il va te retourner 3 :)
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012

ok merci en faite count lit les donnée et pas l'id
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



tu peux très bien faire ça :



ALTER TABLE ta_table AUTOINCREMENT=valeur



ou valeur correspond à la valeur du prochain id qui sera inséré.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



tu peux très bien faire ça :



ALTER TABLE ta_table AUTOINCREMENT=valeur



ou valeur correspond à la valeur du prochain id qui sera inséré.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Si tu supprimes un enregistrement en auto-increment... l'enregistrement n'existe plus.

Donc si tu as :



id 1 : morceau 1

id 2 : morceau 2

id 3 : morceau 3



Et que tu supprimes id 2... et que tu fais un count(*), il te restera :

id 1 : morceau 1

id 3 : morceau 3



donc ton count(*) renverra 2.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
ce qui est logique

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
lol ! je viens de voir qu'avec konqueror... y'a pas de formatage de texte.

en fait mon post qui etait ceci:

en count est là pour ça.select count(*) from ta_tablesi dsnta table tu as1 - A2 - B4 - Dil va te retourner 3 :)



devait ettre:

en count est là pour ça.

select count(*) from ta_table

si dans ta table tu as

1 - A

2 - B

4 - D



il va te retourner 3 :)



en fait, mon post eait illisible :p sorry !

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012

ok merci dsl pour le temps de reponse (les vacances...)
Messages postés
14
Date d'inscription
dimanche 14 août 2005
Statut
Membre
Dernière intervention
26 mai 2009
9
j'ai un petit prob qui peut m'aider!!!!!
est ce que c'est possible,si jamais on click sur un lien il execute une requete sachant que que cette requette est parrametrée..
*********************************************************
$SQL = "SELECT *FROM trombinoscope where ID=$a";
$result = mysql_query($SQL) or die("La requête
$SQL

a échoué : ".mysql_error());
$article =mysql_fetch_object($result);
$result = mysql_query($SQL) ;
**************************************************************
par exemple on click sur -lien1- il me donne le resultat du requete SELECT *FROM trombinoscope where ID=1;
-lien2- la requete SELECT *FROM trombinoscope where ID=2; ainsi d suite...
j vous remercie d'avance..
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Tu peux ouvrir un autre topic stp ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>