Como obter o valor do id (chave primária) na operação anterior no MySQL
-
11-09-2019 - |
Pergunta
Estou usando o MySQL. Eu preciso inserir uma linha em uma tabela em primeiro lugar, então eu preciso para obter o ID da linha inserida. Os olhares de código um pouco como o seguinte:
insert into mytable (column2, column3, column4) values('value2','value3','value4')or die(mysql_error());
Column1
é o
chave primária
e é auto-incremento. Assim como obter o valor de
column1
na operação anterior?
Solução
Você pode usar mysql_insert_id
. De docs:
<?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());
?>
Outras dicas
Você está procurando provavelmente o href="http://php.net/manual/en/function.mysql-insert-id.php" rel="nofollow noreferrer"> mysql_insert_id
função :
Recupera o ID gerado para uma coluna
AUTO_INCREMENT
pela anterior consulta (geralmente INSERT).
mysqli_insert_id
ou PDO::lastInsertId
, dependendo da extensão que você usa para acessar seu banco de dados MySQL.