Подтвердить что ты не робот

Получить последний вставленный идентификатор, используя mysql2 gem


У меня есть код вроде этого:

   require 'mysql2' 
   @db.query("insert into clients (Name) values ('#{client}')") 

Можно ли вернуть последний вставленный идентификатор с 1 запросом?

4b9b3361

Ответ 1

Вы можете использовать метод last_id для экземпляра клиента:

client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "", :database => "db")
insert = client.query "INSERT INTO test (name, date) VALUES ('name', '2011-11-28 09:13:56')"
id = client.last_id

http://rubydoc.info/gems/mysql2/0.2.6/Mysql2/Client:last_id

Изменить: он не отвечает на ваш исходный вопрос, но все равно выглядит лучше, чем вызов LAST_INSERT_ID

Ответ 2

Я ничего не знаю о gem, но вы можете попробовать запустить

@db.query("SELECT LAST_INSERT_ID();") 

после вашего первого запроса.