Самый простой способ получить ID записи, которая была только что опубликована - PullRequest
1 голос
/ 13 декабря 2011

При выполнении вставки MySQL с помощью PHP, какой самый простой способ получить идентификатор только что добавленной записи?

Например, допустим, вы публикуете сообщение типа доски объявлений, где у вас есть user_id, post_subject, timestamp и т. Д. В таблице user_posts, а затем у вас есть текст сообщения в таблице user_post_threads.

Мне нужно получить идентификатор новой записи из таблицы user_posts, чтобы я мог добавить ее к связанному текстовому сообщению в таблице user_post_threads.

Мое решение в прошлом состояло в том, чтобы сделать новый запрос к отметке времени и user_id, чтобы получить идентификатор записи перед публикацией данных в таблицу user_post_threads. Но я ненавижу делать это таким образом, потому что кажется, что я делаю ненужный запрос к моей базе данных.

Я бы хотел улучшить свой метод, чтобы советы были великолепны. Спасибо!

Ответы [ 2 ]

3 голосов
/ 13 декабря 2011

Супер просто!Если вы просто используете vanilla SQL

SELECT LAST_INSERT_ID()

Подробнее о LAST_INSERT_ID ()


Похоже, что вы используете PHP, который также имеет нативныйфункция для этого.

$id = mysql_insert_id();

Подробнее о mysql_insert_id ()

1 голос
/ 13 декабря 2011

Вы можете получить эту информацию, вызвав эквивалент метода insert_id в любой библиотеке mysql, которую вы используете в php.

mysql_insert_id

mysqli::insert_id (mysqli_insert_id)

PDO::lastInsertId

есть, вероятно, несколько других ... но вы поняли идею.

...