【发布时间】:2017-02-06 19:59:59
【问题描述】:
我正在尝试循环插入查询。我正在循环返回结果在列表中的值。
<cfquery datasource="#OLMSdatasourceWrite#" result="myResult">
INSERT INTO OLMS_Data_RatioScenarios
(
OLMS_Account_ID,
OLMS_RatioScenario_Name
)
VALUES
(
<cfloop list="#AccountListWithSettings#" index="CurrentAccount">
(<cfqueryparam cfsqltype="cf_sql_numeric" value="#CurrentAccount#" maxlength="255">, <cfqueryparam cfsqltype="cf_sql_clob" value="#requestBody.value#" maxlength="255">)
<cfif CurrentAccount GT 1>
,
</cfif>
</cfloop>
)
</cfquery>
<cfoutput>Inserted ID is: #myResult.generatedkey#</cfoutput>
我在这里遇到的问题是它在最后一次迭代之后一直放一个“,”
VALUES ( ( (param 1) , (param 2) ) , ( (param 3) , (param 4) ) , ( (param 5) , (param 6) ) , )
我需要帮助找出 cfif 语句来防止这种情况(注意:如果我将 cfif 放在查询参数上方,它会像 (,(param 1),(param 2), 一样开始循环),
【问题讨论】:
-
你有你的答案。我只是要指出,您应该仔细检查循环遍历列表的
index属性实际代表什么。另外,如果您插入多条记录,您确定myResult.generatedkey会满足您的需求吗?
标签: mysql coldfusion cfquery cfloop