Как получить значение id(первичный ключ) в предыдущей операции в MySQL
Я использую MySQL. Сначала мне нужно вставить одну строку в таблицу, а затем получить идентификатор вставленной строки. Код выглядит примерно так:
insert into mytable (column2, column3, column4) values('value2','value3','value4')or die(mysql_error());
Column1
это
основной ключ
и это автоинкремент. Итак, как получить значение
column1
в предыдущей операции?
2 ответа
Решение
Ты можешь использовать 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.