Я использую MySQL. Сначала мне нужно вставить одну строку в таблицу, затем мне нужно получить идентификатор вставленной строки. Код выглядит примерно так:
insert into mytable (column2, column3, column4) values('value2','value3','value4')or die(mysql_error());
Столбец1
является
первичный ключ
и он автоматически увеличивается. Итак, как получить значение
столбец1
в предыдущей операции?
Вы можете использовать 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());
?>
Вероятно, вы ищете функцию mysql_insert_id
:
Получает идентификатор, сгенерированный для
AUTO_INCREMENT
по предыдущей запрос (обычно INSERT).
Или mysqli_insert_id
или PDO::lastInsertId
, в зависимости от того, какое расширение вы используете для доступа к базе данных MySQL.