非常直接的问题。我只想返回由SQL INSERT查询创建的受影响的行,以便从中获取数据。在MySQL中插入后获取受影响的行?
有一种方法我可以做到这一点,我想,但我希望Mysql或Mysql2 gem提供了一些机制,让我不必做第二个SELECT查询。
我倾向于现在的解决方案是一个类似于:
"INSERT INTO table (col1) VALUES ('value');"
然后:
"SELECT cid FROM table ORDER BY cid DESC LIMIT 1;"
由于CID是表的自动递增指数(这是InnoDB的FYI ),它将始终是表中最大的cid值,直到您执行另一个INSERT。
Mysql或Mysql2中是否有任何机制避免必须进行第二次SELECT查询?
看到这个[SO问题](http://stackoverflow.com/questions/7201359/get-last-inserted-id-using-mysql2-gem) –