mysql - 插入查询错误: Column count doesn't match value count at row 1

标签 mysql coldfusion insert-into cfquery

我有一个 cfquery,我正在循环遍历值以将多行插入数据库。我必须这样做,而不是在循环内生成多个 INSERT 查询,因为我需要 INSERT 之后的 generateKeys 列表。但是我的查询现在抛出以下错误。我知道该错误意味着什么,但根据我的查询,它没有意义。

查询:

<cfquery datasource="#OLMSdatasourceWrite#" result="myResult">
    INSERT INTO OLMS_Data_RatioScenarios
    (
        OLMS_Account_ID,
        OLMS_RatioScenario_Name
    )
    VALUES
    (
    <cfset numItems = ListLen(AccountListWithSettings)>
    <cfset i = 1>

    <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 i lt numItems>
            ,
        </cfif>

        <cfset i++>
    </cfloop>
    )
</cfquery>

<cfoutput>Inserted ID is: #myResult.generatedkey#</cfoutput>

错误:

Root Cause:java.sql.SQLException: Column count doesn't match value count at row 1
SQL: INSERT INTO OLMS_Data_RatioScenarios ( OLMS_Account_ID, OLMS_RatioScenario_Name ) 
VALUES ( ( (param 1) , (param 2) ) , ( (param 3) , (param 4) ) , ( (param 5) , (param 6) ) ) 

最佳答案

更正的代码:

<cfquery datasource="#OLMSdatasourceWrite#" result="myResult">
    INSERT INTO OLMS_Data_RatioScenarios
    (
        OLMS_Account_ID,
        OLMS_RatioScenario_Name
    )
    VALUES
    <cfset numItems = ListLen(AccountListWithSettings)>
    <cfset i = 1>
    <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 i lt numItems>
            ,
        </cfif>

        <cfset i++>
    </cfloop>
</cfquery>

关于mysql - 插入查询错误: Column count doesn't match value count at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42076664/

相关文章:

ColdFusion:从列表中选择第一个非空值

php - INSERT INTO & LAST_INSERT_ID inside Query inside 函数

Java数据库 "insert into"语法错误

mysql - 所有 MySQL 列的 INSERT INTO...SELECT

php - 获取日期时间的行,该行是小于mysql中选定日期的最新日期时间

python - 如何使用 python 保护 mysql 连接

image-processing - 如何让 ColdFusion 缩放任何类型的图像?

MySQL具有相同ID的多行同时满足两个不同的条件

PHP mysqli_stmt_bind_result 与 mysqli 联合

ColdFusion CFMailParam 删除附件