récupérer un ID auto-incrémenté après son insert - SQL/NoSQL - Programmation
Marsh Posté le 11-07-2008 à 21:59:19
http://search.mysql.com/search?q=l [...] lr=lang_en
(j'ai même pas consulté les réponses, le titre de la seconde semble contenir la fonction à lancer)
Marsh Posté le 13-07-2008 à 20:45:40
et insérer un ID à null alors qu'il est autoincrémenté par Mysql n'est pas vraiment nécessaire
Code :
|
Marsh Posté le 14-07-2008 à 17:50:20
bricocoman a écrit : et insérer un ID à null alors qu'il est autoincrémenté par Mysql n'est pas vraiment nécessaire
|
Tu ne dois mettre un NULL que si tu ne spécifies pas les champs dans lesquels tu insères les données (NON RECOMMANDÉ, au fait) :
Code :
|
Et puis, il y a 2 manières de récupérer le dernier ID auto-incrémenté.
1. mysql_insert_id() (lien MySQL.com)
2. Une commande SQL directement (genre SELECT LAST_INSERT_ID()) mais pas recommandée car elle n'est pas connexion-persistent je pense (genre tu peux choper le dernier ID que quelqu'un d'autre a inséré après toi, si tu veux faire ça tu utilises MAX(tonchamp)..
Topic HFR sur la question
Marsh Posté le 14-07-2008 à 21:21:23
ok merci, m'enfin votre mysql_insert_id() c'est du php je n'utilise pas php
mais bon je pense avoir contourné le problème de toute façon
Marsh Posté le 11-07-2008 à 00:44:15
Bonjour,
Je ne suis pas du tout familier avec les manipulations en SQL et je me trouve tout bête devant un problème qui je pense est en fait très simple
j'ai une table structurée de manière suivante :
- ID (entier auto-incrémenté, clef primaire)
- NAME (varchar)
Je réalise une insertion :
INSERT INTO `example` ( `id` , `name` ) VALUES ( NULL , 'toto' );
je passe ici la valeur NULL pour l'id, c'est le sgbd qui se charge de mettre la bonne valeur (auto-incrémentée)
une fois l'insertion effectuée, j'aimerai récupérer cette dernière valeur, mais comment faire ? puisqu'à priori je ne connais pas l'id, et que le NAME n'est possiblement pas unique dans la table...
Merci d'avance
---------------
- mon feed-back