首页 / 知识
关于sql:获取插入行标识的最佳方法?
2023-04-14 03:18:00

Best way to get identity of inserted row?
获取
我知道 有人可以解释一下这些差异,以及何时应该使用它们?
我相信检索插入的id的最安全和最准确的方法是使用输出子句。 例如(摘自以下MSDN文章)
我说的和其他人一样,所以每个人都是对的,我只是想让它更清楚。
如果您想安全地玩,请始终使用
获取新插入行的标识的最佳(读取:最安全)方法是使用
加
到插入sql语句的末尾,然后
将检索它。
使用Entity Framework时,它在内部使用
输出结果存储在临时表变量中,连接回表,并将行值返回表中。 注意:我不知道为什么EF会将短暂的表连接回真实表(在什么情况下两者不匹配)。 但这就是EF所做的。
此技术( MSDN
@@ IDENTITY是使用当前SQL连接插入的最后一个标识。这是从插入存储过程返回的一个很好的值,您只需要为新记录插入标识,并且不关心之后是否添加了更多行。 SCOPE_IDENTITY是使用当前SQL连接插入的最后一个标识,并且在当前范围内 - 也就是说,如果在插入后基于触发器插入了第二个IDENTITY,则它不会反映在SCOPE_IDENTITY中,只会反映您执行的插入。坦率地说,我从来没有理由使用它。 无论连接或范围如何,IDENT_CURRENT(tablename)都是插入的最后一个标识。如果要获取尚未插入记录的表的当前IDENTITY值,可以使用此方法。 我无法与其他版本的SQL Server通信,但在2012年,直接输出工作正常。您不需要打扰临时表。
顺便说一下,这种技术在插入多行时也有效。
产量
总是使用scope_identity(),不需要任何其他东西。
创建 在插入语句之后,您需要添加它。并确保数据插入的表名。您的插入语句刚才会影响当前行的行。
如果您正在寻找添加/更新的最后一个ID,这可能是一个古老的学校,但有很多人使用较旧的PHP,Pre 5.5更精确。更多细节可以在http://php.net/manual/en/function.mysql-insert-id.php找到
|
最新内容
相关内容
linux上获取网管命令?
linux上获取网管命令?,地址,系统,网络,信息,电脑,服务,网关,状态,名字,中心,linux怎么看网关地址打开终端窗口。输入以下命令并按下回车键 roulinux命令行获取ip?
linux命令行获取ip?,地址,系统,代码,信息,电脑,服务,状态,密码,命令,网卡,【Linux】在shell脚本中获取当前主机的主机名以及IP地址1、连接上相linux命令获取主机名?
linux命令获取主机名?,工作,地址,管理,系统,信息,命令,目录,软件,代码,策略,Linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目录linux各种命令的解释?
linux各种命令的解释?,地址,工作,系统,信息,命令,目录,时间,管理,控制台,常用命令,linux的常用命令有哪些呢???希望带上解释date:打印或者设置linux插入命令模式?
linux插入命令模式?,工作,系统,地址,管理,信息,时间,命令,目录,平均,项目,Linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目录的linux获取网速命令?
linux获取网速命令?,网络,工具,软件,地址,设备,5G,名称,工作,通讯,分析,linux下里面如何获取网卡的实时网速1、使用以下2个命令可以查看: 1)查看linux路径命令解释?
linux路径命令解释?,系统,信息,设备,数据,工具,命令,文件,标准,发行,时间,linux查看路径命令1、linux命令如果记不得,可以使用man命令来查看某linux文本中插入命令?
linux文本中插入命令?,工作,地址,系统,命令,信息,第一,工具,地方,密码,情况,Linux下常用文本处理命令简单说明使用file命令可以知道某个文件究linux命令获取时分秒?
linux命令获取时分秒?,时间,系统,体系,标准,命令,工具,管理,国家,大陆,信息,linux系统时间命令我们一般使用“date -s”命令来修改系统时间。linux命令获取机器码?
linux命令获取机器码?,地址,设备,工作,信息,命令,管理,系统,工具,目录,网络,linux查找设备号命令1、在Linux下可以使用blkid命令对查询设备上linux获取用户名命令?
linux获取用户名命令?,系统,密码,信息,地址,名称,代码,命令,用户名,用户,用户信息,linux查看已存在的用户1、首先查看本地的服务器用户,这里Linlinux获取时间戳命令?
linux获取时间戳命令?,时间,地址,工作,系统,数字,连续,信息,命令,管理,位置,linux下学习history命令的用法实例使用 HISTCONTROL 从命令历史中