Получить последний вставленный идентификатор, используя mysql2 gem У меня есть код вроде этого: require 'mysql2' @db.query("insert into clients (Name) values ('#{client}')") Можно ли вернуть последний вставленный идентификатор с 1 запросом? Ответ 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();") после вашего первого запроса.
Ответ 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();") после вашего первого запроса.