tôi có mã như thế này:
Nhận ngoái chèn id sử dụng mysql2 đá quý
require 'mysql2'
@db.query("insert into clients (Name) values ('#{client}')")
tôi có thể trở lại chèn cuối cùng id với 1 truy vấn?
tôi có mã như thế này:
Nhận ngoái chèn id sử dụng mysql2 đá quý
require 'mysql2'
@db.query("insert into clients (Name) values ('#{client}')")
tôi có thể trở lại chèn cuối cùng id với 1 truy vấn?
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
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.
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