2011-08-26 33 views

Trả lời

17

Bạn có thể sử dụng phương pháp last_id của dụ khách hàng:

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

Sửa: nó không trả lời câu hỏi ban đầu của bạn nhưng vẫn có vẻ tốt hơn so với lời kêu gọi LAST_INSERT_ID

3

tôi không bất cứ điều gì về đá quý nhưng bạn có thể cố gắng chạy

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

sau khi truy vấn đầu tiên của bạn.

+0

thnx , Tôi biết về nó. Trong postgres tôi có thể làm điều đó trong 1 truy vấn với từ khóa RETURNING id, và tôi muốn sử dụng tại mysql một cái gì đó như thế này – babi4

Các vấn đề liên quan