Как получить значение id (первичный ключ) в предыдущей операции в MySQL - PullRequest
0 голосов
/ 02 декабря 2009

Я использую MySQL. Сначала мне нужно вставить одну строку в таблицу, а затем получить идентификатор вставленной строки. Код выглядит примерно так:

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

Column1

это

первичный ключ

и это автоинкремент. Так как же получить значение

column1

в предыдущей операции?

Ответы [ 2 ]

1 голос
/ 02 декабря 2009

Вы можете использовать mysql_insert_id. Из документов:

<?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 голос
/ 02 декабря 2009

Вы, вероятно, ищете функцию mysql_insert_id:

Получает идентификатор, сгенерированный для AUTO_INCREMENT столбец по предыдущему запрос (обычно INSERT).

Или mysqli_insert_id или PDO::lastInsertId, в зависимости от того, какое расширение вы используете для доступа к базе данных MySQL.

...