Как получить значение 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.

Другие вопросы по тегам