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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top