Renomer un champs sql [Résolu]

kelm_by 296 Messages postés mardi 9 janvier 2007Date d'inscription 21 novembre 2008 Dernière intervention - 31 mai 2007 à 22:03 - Dernière réponse : coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention
- 1 juin 2007 à 00:35
salut,
j'ai une table nomé tab ou il ya un champs id a insertion automatique mais j'ai suprimer quelque ligne alors comment renomer l'id de 1 au dernier champs

$query="UPDATE tab SET id='$i' ";
mysql_query($query)or die('error');

merci
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 31 mai 2007 à 23:44
3
Merci
Salut

max@max-laptop:~$ su
Password:
root@max-laptop:/home/max# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.0.38-Ubuntu_0ubuntu1-log Ubuntu 7.04 distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> USE test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

mysql> CREATE TABLE test(id INT UNSIGNED AUTO_INCREMENT, autre INT, PRIMARY KEY(id));
Query OK, 0 rows affected (0.23 sec)

mysql> INSERT INTO test(autre) VALUES(1), (2), (3), (4), (5), (6), (7);
Query OK, 7 rows affected (0.06 sec)
Records: 7  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM test;
+----+-------+
| id | autre |
+----+-------+
|  1 |     1 |
|  2 |     2 |
|  3 |     3 |
|  4 |     4 |
|  5 |     5 |
|  6 |     6 |
|  7 |     7 |
+----+-------+
7 rows in set (0.00 sec)

mysql> DELETE FROM test WHERE id=4;
Query OK, 1 row affected (0.15 sec)

mysql> DELETE FROM test WHERE id=3;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE TEMPORARY TABLE tmp (id INT UNSIGNED auto_increment, autre int, primary key(id));
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO tmp(autre) (SELECT autre FROM test ORDER BY id)
    -> ;
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM tmp
    -> ;
+----+-------+
| id | autre |
+----+-------+
|  1 |     1 |
|  2 |     2 |
|  3 |     5 |
|  4 |     6 |
|  5 |     7 |
+----+-------+
5 rows in set (0.00 sec)

mysql> DELETE FROM test;
Query OK, 5 rows affected (0.00 sec)

mysql> INSERT INTO test(id, autre) (SELECT id, autre FROM tmp);
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM test;
+----+-------+
| id | autre |
+----+-------+
|  1 |     1 |
|  2 |     2 |
|  3 |     5 |
|  4 |     6 |
|  5 |     7 |
+----+-------+
5 rows in set (0.00 sec)

Voila, j'espere que ca repond a ta question

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy

Merci coucou747 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 82 internautes ce mois-ci

Commenter la réponse de coucou747
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 31 mai 2007 à 22:32
0
Merci
Salut

renomer l'id de 1... ca ne veut rien dire... on dit decrementer l'id, ou diminuer de 1 la valeur de l'id...

$query="UPDATE tab SET id=id-1";
mysql_query($query)or die('error');

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747
kelm_by 296 Messages postés mardi 9 janvier 2007Date d'inscription 21 novembre 2008 Dernière intervention - 31 mai 2007 à 22:34
0
Merci
1
2
3
4
5
6
....................
merci
Commenter la réponse de kelm_by
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 31 mai 2007 à 22:58
0
Merci
allez, on va continuer, pour te faire plaisir :

7
8
9
10
11
12
13
14
15
16
...

(ps : si tu veux un message plus debile, s'adresser a mon assistant)

(mettre uniquement du code ca peut suffir pour une reponse, mais des chiffres, c'est un peu leger... tu pourrais au moins dire si ma solution marche ou non, et pouquoi...)

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747
kelm_by 296 Messages postés mardi 9 janvier 2007Date d'inscription 21 novembre 2008 Dernière intervention - 31 mai 2007 à 23:06
0
Merci
ah oui tu as meme un assistant les gens bien
Commenter la réponse de kelm_by
kelm_by 296 Messages postés mardi 9 janvier 2007Date d'inscription 21 novembre 2008 Dernière intervention - 31 mai 2007 à 23:18
0
Merci
personne ne veut m'aider par ordre croissant
Commenter la réponse de kelm_by
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 31 mai 2007 à 23:24
0
Merci
j'ose meme pas relever.... ce que je voulais dire c'est que nous donner une suite de chiffres sans sens, ca n'aide pas a la resolution de ton probleme...

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747
kelm_by 296 Messages postés mardi 9 janvier 2007Date d'inscription 21 novembre 2008 Dernière intervention - 31 mai 2007 à 23:26
0
Merci
et quesqui peut m'aider aresoudre mon probleme
Commenter la réponse de kelm_by
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 31 mai 2007 à 23:26
0
Merci
"personne ne veut m'aider par ordre croissant"=> ca encore ca ne veut rien dire...

pose ta question.... dis moi si mon code convient... si il ne convient pas, dis pourquoi....

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747
kelm_by 296 Messages postés mardi 9 janvier 2007Date d'inscription 21 novembre 2008 Dernière intervention - 31 mai 2007 à 23:30
0
Merci
les id sont avec des trous 1,2,8,9,12,56.........
je veux les rendre 1,2,3,4,5,6,7,8,9........
avec une boucle surement mais je ne sais pas

merci
Commenter la réponse de kelm_by
kelm_by 296 Messages postés mardi 9 janvier 2007Date d'inscription 21 novembre 2008 Dernière intervention - 1 juin 2007 à 00:25
0
Merci
tous ce que il falait faire c'est de suprimer le champs id et le recréer
Commenter la réponse de kelm_by
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 1 juin 2007 à 00:35
0
Merci
Salut

avec deux alter table, ca peut peut-etre fonctionner... faut voir...

quelques details :
-plus tu donnes de details plus vite t'as la reponse, le temps que tu perds a ecrire, on le gagne quand on cherche a te comprendre, sans compter les erreurs que l'on fait parce-que l'on t'a mal compris, ou les moments ou on a carement rien compris... ou les fausses pistes que tu aurais deja explorees ou autres...
-cette methode peut presenter des bugs lorsque tu l'appliques deux fois en meme temps, et pour une grosse table, ca peut etre tres lent, donc evite de mettre ce code ailleur que dans une partie admin ou autre chose peu solicitee, garde plutot une liste triee en decalant les ids lors de la suppression avec un code comme celui que j'ai mis tout en haut

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Commenter la réponse de coucou747

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.