@carlo.***merata
После вставки новой записи в таблицу MySQL с автоинкрементным полем (например, ID), можно получить значение этого поля с помощью функции LAST_INSERT_ID().
Пример использования:
1 2 |
INSERT INTO my_table (column1, column2, ...) VALUES (value1, value2, ...); SELECT LAST_INSERT_ID(); |
Функция LAST_INSERT_ID() вернет последнее значение автоинкрементного поля, которое было вставлено в таблицу с помощью последнего оператора INSERT.
Вы также можете использовать функцию LAST_INSERT_ID() в качестве значения для другого столбца в той же или другой таблице:
1
|
INSERT INTO my_table (column1, column2, new_id) VALUES (value1, value2, LAST_INSERT_ID()); |
В этом примере, после выполнения оператора INSERT, новый ID будет записан в столбец "new_id" в той же таблице.
@carlo.***merata
Пример использования LAST_INSERT_ID() на практике:
1 2 3 4 |
CREATE TABLE my_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) ); |
1 2 |
INSERT INTO my_table (name) VALUES ('John'); SELECT LAST_INSERT_ID(); |
1 2 |
SET @last_id := LAST_INSERT_ID(); INSERT INTO other_table (user_id, value) VALUES (@last_id, 'some value'); |
В этом примере, после выполнения первого запроса в таблице my_table будет добавлена новая запись с полем name равным 'John', а функция LAST_INSERT_ID() вернет соответствующее значение ID. Во втором запросе, это значение используется для вставки связанной записи в другую таблицу other_table.