Определение идентичности вновь созданных записей в MySQL
При работе с базами данных часто необходимо получить уникальный идентификатор, присвоенный вновь созданным записям . В SQL Server этой цели служит функция SCOPE_IDENTITY(). Однако если вы используете MySQL, его возможности различаются.
Эквивалент в MySQL: LAST_INSERT_ID()
Эквивалент SCOPE_IDENTITY() в MySQL — это LAST_INSERT_ID() функция. Он извлекает идентификатор последнего значения автоинкремента, сгенерированного базой данных.
Пример использования
CREATE TABLE Product ( ProductID INT AUTO_INCREMENT PRIMARY KEY ); INSERT INTO Product (Name) VALUES ('New Product'); # Get the ID of the newly created record SELECT LAST_INSERT_ID();
Этот запрос вернет ProductID новой вставленной записи.
Примечание по триггерным вставкам
Важно отметить, что LAST_INSERT_ID() возвращает идентификатор последнего автоинкремента, сгенерированного в текущем сеансе или транзакции. В случае триггеров вставки, которые выполняют дополнительные вставки, LAST_INSERT_ID() вернет идентификатор исходной таблицы, а не таблицы, в которую был вставлен во время триггера.
Заключение
Понимание MySQL-эквивалента функций SQL Server имеет решающее значение для эффективной работы с кроссплатформенными приложениями баз данных. Используя LAST_INSERT_ID(), вы можете получить идентичность вновь созданных записей в MySQL.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3