我有这样的代码:
require 'mysql2'
@db.query("insert into clients (Name) values ('#{client}')")
我可以使用1个查询返回上次插入的ID吗?
答案 0 :(得分:18)
您可以使用客户端实例的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好看
答案 1 :(得分:3)
我对gem没什么,但你可以尝试运行
@db.query("SELECT LAST_INSERT_ID();")
第一次查询后。