使用mysql2 gem获取最后插入的id

时间:2011-08-26 07:27:53

标签: mysql ruby


我有这样的代码:

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

我可以使用1个查询返回上次插入的ID吗?

2 个答案:

答案 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();") 
第一次查询后