0
我正在使用两个更新查询,其中第一次更新查询我设置记录的导航顺序= 0然后在另一个查询我递减导航顺序1以适当的顺序具有导航顺序,我怎么能执行这两个这个只有一个更新查询操作?任何帮助,将不胜感激。我怎样才能更新记录?
<cfif _q.is_nav_item EQ 1 AND arguments.is_nav_item EQ 0>
<cfquery datasource="#getDSN()#">
UPDATE content
SET nav_order = 0
WHERE id = <cfqueryparam value="#arguments.id#" cfsqltype="cf_sql_integer" />
AND site__id = <cfqueryparam value="#arguments.site__id#" />
;
UPDATE content
SET nav_order = nav_order - 1
WHERE nav_order > <cfqueryparam value="#_q.nav_order#" cfsqltype="cf_sql_tinyint" />
AND site__id = <cfqueryparam value="#arguments.site__id#" />
;
</cfquery>
</cfif>
你为什么要使用一个更新查询做既是可读?您当前的代码有效并且非常易读。只需使用交易。 – Henry
@Henry - 绝对可以正常工作.....但是我的TL想让它在一个查询中完成......我不知道是什么让他思考它。 –
如果你要做这样的改变,应该有一个很好的理由。看起来不太可能产生任何性能优势,更重要的是,查询将更难理解。那么在这里有什么好处? – Leigh