Jef*_*iny 2 sql oracle coldfusion
我插入两个表.进入第一个表是一个新的'项目'.有很多领域,但为了简单起见,我只会告诉你我需要什么.这是我的coldfusion页面:
<cfquery>
INSERT INTO my_item_table (itemid, a bunch of other stuff)
VALUES (itemid_sequence.nextval, a bunch of other stuff)
</cfquery>
Run Code Online (Sandbox Code Playgroud)
我的问题是我想将自动递增的itemid作为值插入另一个表,即文件附件表.相同的coldfusion页面:
<cfquery>
INSERT INTO my_attachments_table (attachno, itemid, filename)
VALUES (attachment_sequence.nextval, **AUTO-INCREMENT VALUE HERE**, '#url.fileName#')
</cfquery>
Run Code Online (Sandbox Code Playgroud)
我知道我可以在项目表中查询刚刚输入到第一个表中的值,但即使它不太可能,用户输入也可能不是唯一的,这意味着对相同字段的查询可能会返回更多超过一排.在这种情况下,我无法得到itemid.在查询中创建的itemid是唯一的唯一标识符.
我的问题是:有没有办法将auto = increment设置为查询中的值,以便我可以在外面使用它?如果没有,你会如何建议我的项目?谢谢.
小智 5
如果在ColdFusion 8/9/10中执行插入操作,它将返回标记的结果属性中插入的行(或行)的ID.例如,如果您使用的是SQL Server,则result_name.IDENTITYCOL是对插入行的ID的引用.如果你使用的是MySQL,那就是result_name.GENERATED_KEY.
| 归档时间: |
|
| 查看次数: |
1473 次 |
| 最近记录: |