如何获取新创建记录的ID(PK)? [英] How to get ID (PK) of newly created record?
本文介绍了如何获取新创建记录的ID(PK)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给出一个表:
CREATE TABLE [GENERIC_TABLE] (
[RECORD_ID] [int] IDENTITY(1,1) NOT NULL,
[SHORT_DESC] [varchar] (50) NULL,
CONSTRAINT [PK_GENERIC_TABLE] PRIMARY KEY CLUSTERED
...
我想插入一条记录,并将新RECORD_ID的值放入ColdFusion变量中。
I want to INSERT a record and get the value of the new RECORD_ID into a ColdFusion variable.
我的CFQUERY应该是什么样?
What should my CFQUERY look like?
(不可否认,这可能是一个过于简单的问题。在我的辩护中,我习惯于使用Oracle,而不是SQL Server。 )
(Admittedly, this is probably an overly easy question. In my defense I am used to working with Oracle, not SQL Server.)
对于ColdFusion 8来说,这是不错的选择,但是版本无关的解决方案是不错的。
This for ColdFusion 8, but version-neutral solutions are good.
推荐答案
如果在 cfquery
标记中设置了result属性,则返回主键而无需额外的SQL
If you set the result attribute in cfquery
tag the primary key is returned without extra SQL
<cfquery datasource="x" result="resultName">
INSERT INTO...
</cfquery>
<cfset newID = resultName.IDENTITYCOL />
- MSSQL:
IDENTITYCOL
- Oracle:
ROWID
- Sybase:
SYB_IDENTITY
- Informix:
SERIAL_COL
- Mysql:
GENERATED_KEY
- MSSQL:
IDENTITYCOL
- Oracle:
ROWID
- Sybase:
SYB_IDENTITY
- Informix:
SERIAL_COL
- Mysql:
GENERATED_KEY
这篇关于如何获取新创建记录的ID(PK)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文