Insert auto de l'auto-id dans un autre champ

10 réponses
AuteurMessage

radins |
Modérateur

Photo de radins

Inscrit le : 09/05/2005

# Le 29/09/2005 à 22:28

Est-il possible d'insérer en une opération l'id, déterminée par un auto-increment dans un autre champ? du style:

INSERT INTO table (id, id2) VALUES ('', id)

Je veux donc que MySQL insère directement la valeur qu'il mettra dans 'id' également dans 'id2'.. sinon je suis obligé de faire l'insert et de faire un UPDATE derrière avec mysql_insert_id()

..

PyRoFlo | Florent
Modérateur

Photo de PyRoFlo

Inscrit le : 09/05/2005

# Le 29/09/2005 à 22:35

Impossible à ma connaissance.

http://dev.mysql.com/doc/mysql/fr/example-auto-inc...Ouvrir dans une nouvelle fenetre

Feu d'artifice ParisOuvrir dans une nouvelle fenetre

Fred | Frédéric
Modérateur

Photo de Fred

Inscrit le : 09/05/2005

# Le 29/09/2005 à 22:37

Euh, tu peux nous dire pourquoi faire ? Je trouve ça un peu absurde en fait...

"Le bois ne rend pas les coups"

Julgates | Julien
Administrateur

Photo de Julgates

Inscrit le : 09/03/2005

# Le 29/09/2005 à 23:45

Dans le cadre d'un forum, si c'est un nouveau topic et qu'il faut un meme id de suivi pour toute la discussion, ou autre chose du genre, un update est rapide surtout avec un id en primaire...

Shopping Time NetworkOuvrir dans une nouvelle fenetre - Founder / CTO

radins | Tobias
Modérateur

Photo de radins

Inscrit le : 09/05/2005

# Le 30/09/2005 à 09:14

Normalement ça ne pose pas de souci, mais là c'est une opé complèxe où je vais traiter plus de 100.000 inserts.. du coup ça m'arrangerait de pouvoir le faire directement..

Enfin je viens de penser à un truc je peux faire mes inserts avec une id bidon puis faire un UPDATE table SET id2=id WHERE id=idbidon .. :-/ - pour le moment j'étais resté fixé sur l'idée que je devais faire un update après chaque insert en utilisant mysql_insert_id()

Comme quoi que ça sert un forum.. souvent on trouve une solution juste en écrivant son problème..

Merci pour vos infos en tout cas..

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 30/09/2005 à 09:27

Mets pas de WHERE...

Juste : UPDATE table SET id2 = id;
Ca le sera fait pour tous les enregistrements.

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

radins | Tobias
Modérateur

Photo de radins

Inscrit le : 09/05/2005

# Le 30/09/2005 à 09:43

Oui, mais il y a déjà d'autres enregistrements dans cette table que je ne dois surtout pas mettre à jour ;-)

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 30/09/2005 à 10:43

okay

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

DarkSquall |
Membre

Photo de DarkSquall

Inscrit le : 27/08/2005

# Le 02/10/2005 à 15:31

Pourquoi ne pas utiliser mysql_insert_id(), alors?

Isyweb.comOuvrir dans une nouvelle fenetre

PyRoFlo | Florent
Modérateur

Photo de PyRoFlo

Inscrit le : 09/05/2005

# Le 02/10/2005 à 16:03

Radins voudrait faire ça en une seule requête

Feu d'artifice ParisOuvrir dans une nouvelle fenetre

radins | Tobias
Modérateur

Photo de radins

Inscrit le : 09/05/2005

# Le 02/10/2005 à 16:28

> Pourquoi ne pas utiliser mysql_insert_id(), alors?

Mauvaise idée de faire ça sur 150.000 insertions à mon avis.. avec ma méthode je le fais avec une (enfin deux requêtes) ..

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 23/11/2024 20:15:16 | Généré en 6.23ms | Contacts | Mentions légales |