【发布时间】:2017-09-11 14:34:30
【问题描述】:
我喜欢 MySQL 的 LAST_INSERT_ID() 函数。我一直使用它来检索刚刚插入的行的 id,然后从我的存储过程中返回。但是,现在我有一个表,它的主键 TIMESTAMP 设置为 DEFAULT CURRENT_TIMESTAMP。如何检索最后插入的时间戳?
【问题讨论】:
-
如果并发插入产生相同的 CURRENT_TIMESTAMP 会发生什么?你确定它是你PK的好选择吗?
-
@AlexK。 OP 可能在时间戳上使用毫秒精度,但它仍然很有可能发生冲突。不是一个好的选择,因为插入会经常失败,需要重新执行。
-
虽然我大体上同意@BillKarwin,但偶尔会出现时间确实是(或属于)自然标识符的情况,而且我也想利用唯一约束将错误返回到任何尝试的应用程序或 SProc。 “这是一项功能!”
-
@ChristopherMcGowan,是的,如果设计的一部分不应该有超过一行具有相同的时间戳,那没关系。
标签: mysql timestamp last-insert-id