gpt4 book ai didi

sql - mysql @@identity 与 sql-server last_insert_id()

转载 作者:可可西里 更新时间:2023-11-01 06:45:27 36 4
gpt4 key购买 nike

我是否正确理解 mysql 的 LAST_INSERT_ID() 函数不会在插入尝试之间重置(就像 @@identity 在 sql-server 中所做的那样)...如果紧接在前的插入操作失败,LAST_INSERT_ID() 将返回无论该连接最后插入到具有自动递增主键的任何 表的 pk 是什么 pk。如果我在这一点上是正确的,那么这似乎不是人们可以想出的关于此功能的最迟钝的行为吗?是否没有与 sql-server 的 @@identity 行为相似的 mysql 函数?如果紧接在 插入尝试未创建新记录,将返回 NULL?或者,如何确定最近一次插入操作的主键?

最佳答案

@@identity 在 sql server 中通常也是错误的。在大多数情况下,您应该改用 scope_identity()

在 MySql 中,last_insert_id() 应该可以安全使用,因为在插入错误后调用此函数的唯一方法是您已经正确捕获并解释了插入错误。否则你仍然会处理命令。换句话说,last_insert_id() 不是您的错误处理机制。

关于sql - mysql @@identity 与 sql-server last_insert_id(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2209340/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com