~LAST_INSERT_ID()

4 réponses
AuteurMessage

Rano |
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 26/05/2009 à 09:44

Salut,

Je voudrais faire ça (avec `id` en primary auto increment)
INSERT INTO `toto` (`id`, `x`) VALUES (NULL, La meme valeur que dans `id`);

Dans le style LAST_INSERT_ID(), y aurait pas un NEXT_INSERT_ID() pour faire :
INSERT INTO `toto` (`id`, `x`) VALUES (NULL, NEXT_INSERT_ID());

?

Il semblerait que pour MySQL il n'y ait que la solution insert avec `x` à 0 puis un update pour y mettre le last insert id, mais si je peux éviter deux requetes, c'est mieux

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

Salemioche | Nicolas
Membre

Photo de Salemioche

Inscrit le : 26/12/2008

# Le 26/05/2009 à 10:41

last_insert_id()+1 ?

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 26/05/2009 à 10:44

t'as testé un INSERT INTO `toto` (`x`) VALUES (id) ?
Au niveau de l'ordre je ne sais pas du tout si tu obtiendras NULL ou bien ton ID.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

bhamp0 | Benjamin
Membre

Photo de bhamp0

Inscrit le : 09/05/2005

# Le 26/05/2009 à 13:21

C'est du MySQL 5 ? Parce que t'as les triggers pour faire ton truc sinon ...

CREATE TRIGGER toto_insert_x AFTER INSERT ON toto FOR EACH ROW SET NEW.x = NEW.id


(je fais de tête, à vérifier ...)

Quand on voit c'qu'on voit, et qu'on entend c'qu'on entend, on a raison d'penser c'qu'on pense !

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 26/05/2009 à 13:49

En fait, j'ai fait autrement parceque j'avais besoin de l'id en PHP pour construire une URL. URL que je devais réinjecter dans l'enregistrement.

Mais merci quand meme, en particulier le trigger, ça a l'air bien ça

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

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 | 24/11/2024 5:55:59 | Généré en 5.01ms | Contacts | Mentions légales |