2009-12-02 4 views
0

J'utilise MySQL. Je dois d'abord insérer une ligne dans une table, puis j'ai besoin de l'identifiant de la ligne insérée. Le code ressemble un peu à ce qui suit:Comment obtenir la valeur de id (clé primaire) dans une opération précédente dans MySQL

insert into mytable (column2, column3, column4) values('value2','value3','value4')or die(mysql_error()); 

Column1

est le

clé primaire

et il est auto-incrément. Alors, comment obtenir la valeur de

colonne1

dans l'opération précédente?

Répondre

1

Vous pouvez utiliser mysql_insert_id. Des documents:

<?php 
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db('mydb'); 

mysql_query("INSERT INTO mytable (product) values ('kossu')"); 
printf("Last inserted record has id %d\n", mysql_insert_id()); 
?> 
1

Vous cherchez probablement la fonction mysql_insert_id:

récupère l'ID généré pour une AUTO_INCREMENT colonne par la précédente requête (généralement INSERT).

Ou mysqli_insert_id ou PDO::lastInsertId, selon lequel l 'extension que vous utilisez pour accéder à votre base de données MySQL.

Questions connexes