我有两个不同的 CF11 应用程序,其中有两个不同的数据源,每个应用程序在同一个 Oracle 12g 数据库上都有自己的后端架构。在一个数据源 dsA 中,当我使用 CFQUERY 插入新记录时,结果结构包含一个 GENERATEDKEY 值。在数据源 dsB 中,当我运行完全相同的代码时,结果结构中没有 GENERATEDKEY 值。
这是我正在运行的测试代码...
<cftry>
<cfset ds = "dsA"/>
<cfquery name="insertTest" datasource="#ds#" result="testResult">
INSERT INTO categories(cat_name)
VALUES ('testing')
</cfquery>
<cfdump var="#testResult#" label="#ds#">
<cfcatch>
<cfdump var="#cfcatch#" label="#ds#"><cfabort>
</cfcatch>
</cftry>
当我将数据源设置为 dsA 时,我得到了这个输出。注意 GENERATEDKEY 和 ROWID 值。
当我将数据源设置为 dsB 时,我得到了这个输出,没有 GENERATEDKEY 和 ROWID。
据我所知,两个 Oracle 模式的设置方式相同,并且两个数据源的配置方式相同。有谁知道什么会导致一个查询返回 GENERATEDKEY 而另一个不返回?我正在拔头发试图找到原因。
提前感谢您的任何建议。
最佳答案
我和你有同样的问题。 GENERATEDKEY
缺少 <cfdump>
struck
.我再次检查了我的表,结果我忘记设置我的 id
字段为 Primary Key
和 Auto Increment
.我改变了我的 table ,我可以得到我的 GENERATEDKEY
再次。
关于oracle - 我的 CFQUERY 结果结构中缺少 GENERATEDKEY 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40270744/