2013-11-20 28 views

回答

4

如果它是一个auto_incremented值你可以使用mysql_insert_id()(或其mysqli sibling)执行INSERT获得分配给它的ID之后。

如果您想要获得非自动递增值,您需要选择具有最高值的行并按降序排序以执行该作业(假设它是数字或字母数字并按顺序递增):

SELECT id FROM tablename ORDER id DESC LIMIT 1 

如果它是一个随机ID比你需要按日期排序:

SELECT id FROM tablename ORDER datecol DESC LIMIT 1 

如果您还没有整理这些记录的任何其他方法,你可以得到的最后一排表,但不能保证记录是最新的,因此你哈哈你的结果没有准确性。

+0

我看到..我希望有一个像解决方案(RETURNING)的PostgreSQL ..但如果有人在INSERT和SELECT LAST之间进行查询,您的解决方案将失败 – Adrian

+0

切换到PDO,甚至可以获得Oracle解决方案。 – Peon

+0

hehe this is PDO ...没有lastInsertId值返回在没有自动增加行的表上..那个sux – Adrian