从MySQL中的非AUTO_INCREMENT列获取最后插入的ID

时间:2013-07-14 20:05:23

标签: mysql

LAST_INSERT_ID()返回带有AUTO_INCREMENT属性的列中最后插入的ID。

首先,有没有办法在没有 AUTO_INCREMENT属性的列中获取最后插入的ID。

如果是,我如何获得最后插入的ID?

任何想法都会很棒。

2 个答案:

答案 0 :(得分:6)

并非总能保证,但您可以使用MAX()

SELECT MAX(ID) FROM YourTable

这可能无法保证的原因是如果您同时运行多个事务,这可能会选择不正确的ID ...

同样,ORDER BY与LIMIT:

SELECT ID FROM YourTable ORDER BY ID Desc Limit 1

答案 1 :(得分:1)

您的ID是否为主键?

如果有,可以查看时间戳值。

事实上,如果没有自动增量或时间戳,就无法获得最后插入的行。 如果您无法更改主表,您可以创建其他表并将自动增量映射到您插入的ID。