gpt4 book ai didi

mysql - 尝试使用 ColdFusion MX 7 更新 mysql 表

转载 作者:行者123 更新时间:2023-11-29 00:47:53 26 4
gpt4 key购买 nike

我一直在尝试使用 Coldfusion MX 7 更新 MySQL 5.0 中的表。但查询仅更新/添加第一条记录,而不会更新/添加其他 60,000 条记录。

<cfquery name="count" datasource="voyager">
SELECT
PATRON.PATRON_ID,
PATRON.HISTORICAL_CHARGES,
PATRON.HISTORICAL_BOOKINGS,
PATRON.HISTORICAL_DISTRIBUTIONS,
PATRON.HISTORICAL_SHORT_LOANS,
PATRON.HISTORICAL_CHARGES_UB,
PATRON.HISTORICAL_REQUESTS_UB
FROM PATRON
</cfquery>


<cfquery name="update" datasource="patrons">
<cfoutput>
REPLACE INTO patrondailyusecounttotals (PATRON_ID, HISTORICAL_CHARGES)
VALUES ('#count.PATRON_ID#', '#count.HISTORICAL_CHARGES#')
</cfoutput>
</cfquery>

最佳答案

你需要使用一个循环:

<cfquery name="count" datasource="voyager">
SELECT
PATRON.PATRON_ID,
PATRON.HISTORICAL_CHARGES,
PATRON.HISTORICAL_BOOKINGS,
PATRON.HISTORICAL_DISTRIBUTIONS,
PATRON.HISTORICAL_SHORT_LOANS,
PATRON.HISTORICAL_CHARGES_UB,
PATRON.HISTORICAL_REQUESTS_UB
FROM
PATRON
</cfquery>

<cfloop query="count">
<cfquery name="update" datasource="patrons">
REPLACE INTO patrondailyusecounttotals (PATRON_ID, HISTORICAL_CHARGES)
VALUES (
<cfqueryparam value="#PATRON_ID#" cfsqltype="CF_SQL_VARCHAR">,
<cfqueryparam value="#HISTORICAL_CHARGES#" cfsqltype="CF_SQL_VARCHAR">
)
</cfoutput>
</cfloop>

请注意,使用 <cfqueryparam>是这里推荐的方法。它会大大加快“内部查询”的速度,因为在第一个循环之后的每个循环迭代中,只有参数值被传输到服务器(而不是每次都传输完整的 SQL 代码)。


编辑

答案的原始版本建议如下,但显然这在涉及单独数据库服务器的情况下是不够的。

<cfquery name="update" datasource="patrons">
REPLACE INTO
patrondailyusecounttotals (PATRON.PATRON_ID, HISTORICAL_CHARGES)
SELECT
PATRON_ID, HISTORICAL_CHARGES
FROM
PATRON
</cfquery>

关于mysql - 尝试使用 ColdFusion MX 7 更新 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com