mysql - 查询 cf queryObject 并插入到表中

标签 mysql coldfusion railo lucee

我正在将 queryObject 传递到 CFC。我可以写 Dump(myQryObject) 并且我看到了 queryObjects 内容,到目前为止一切都很好。我可以编写一个 select 语句并根据我的查询转储一行 - 同样,这里一切都很好。我现在需要将数据插入表中,但语法不正确。

CFC 是用 CFScript 编写的。

local.blkLoadQry = new Query(); // new query object     
local.blkLoadQry.setDBType("query");
local.blkLoadQry.setAttributes(sourceQuery=arguments.blkdata);
local.blkLoadQry.addParam(name="batchid",value=arguments.batchID,cfsqltype="cf_sql_varchar",maxlength="36");

local.blkLoadQry.setSQL("
INSERT INTO bulkloadtemptable (
      uuid
      , gradyear
      , firstName
      , lastName
      , email
  )
  SELECT 
      :batchid
      , `Graduation Year`
      , `Jersey`
      , `First Name`
      , `Last Name`
      , `Email`
  FROM 
      bulkloadtemptable_copy
  WHERE uuid = :batchid
");

`Lexical error at line 10, column 17. Encountered: "`" (96), after : ""`

这是我收到的错误,但错误的行号与我的预期不符,所以这就是我来到这里的原因。 :batchid 将是第 10 行。

我错过了什么?

最佳答案

您正在尝试不可能的事情。您的查询查询 select 语句仅在 ColdFusion 中运行。游戏中没有数据库连接。

如果要将 ColdFusion 查询中的数据插入数据库,则必须以某种方式循环遍历行。您可以在循环内有插入查询,也可以在插入查询内有循环。这是两者的示例语法。

在循环内查询。

<cfoutput query="cfQueryObject">
<cfquery datasource = "aRealDatabase">
insert into table
(field1
, field2
, etc)
values
(<cfqueryparam value = "#cfQueryObject.field1#">
, <cfqueryparam value = "#cfQueryObject.field1#">
, etc
)
</cfquery>
</cfoutput>

循环内部查询

<cfquery datasource = "aRealDatabase">
insert into table
(field1
, field2
, etc)

select null
, null
, etc
from someSmallTable
where 1 = 2
<cfoutput query="cfQueryObject">
union
select <cfqueryparam value = "#cfQueryObject.field1#">
, <cfqueryparam value = "#cfQueryObject.field1#">
, etc
from someSmallTable
</cfoutput>
</cfquery>

您可以尝试看看哪种方式更适合您的情况。

关于mysql - 查询 cf queryObject 并插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46800296/

相关文章:

jquery - 通过 JQuery 传递和返回 ColdFusion 结构

javascript - 通过ajax发送base64图像数据到cfc

php - 一般错误 : 1364 Field 'identifier' doesn't have a default value

dynamic - 双重评估 - 如何根据保存列名称的变量访问我的查询列?

正则表达式查找站点名称并使用它

tomcat - Railo 和 Tomcat - 根目录在哪里

coldfusion - 从Adobe ColdFusion迁移到替代CFML引擎时会发生什么变化?

php - 选择查询多个ID

php - 带有游标的存储过程以奇怪的方式执行

MySQL regexp 比 like 慢很多