【问题标题】:Error: ER_BAD_FIELD_ERROR: Unknown column 'claimSystemId' in 'field list'错误:ER_BAD_FIELD_ERROR:“字段列表”中的未知列“claimSystemId”
【发布时间】:2018-05-17 08:48:39
【问题描述】:

我们使用Node.Js 中的mysql 包来连接Aurora DB。

我们正在调用存储过程,有时我们会收到Error: ER_BAD_FIELD_ERROR: Unknown column 'claimSystemId' in 'field list' 错误。

CREATE DEFINER=`CLIroham`@`%` PROCEDURE `spGetMasterData`(IN documentIdParam bigint)
BEGIN
select stateId AS id,stateName AS  name  from  state;
select countryId AS id, countryName  AS  name  from  country;
select statusCode AS id, status AS name from  statusMaster where type_of_status = 'Client_Instruction_Status';
select statusCode AS id, status AS name from  statusMaster where type_of_status = 'PROGRAM_STATUS';
select personId AS id, firstname AS name  from person where employeeType = 'AE' limit 20;
select naicsCodeId AS id, naicsCode as name   from  naicsMaster limit 20;
select clientId AS id , name AS name from client limit 10;
select doc.revNumber as revNumber ,concat(p.firstname,' ',p.lastname) as createdBy,
doc.lastModifiedDate as lastModifiedDate, doc.revChangesText 
from documentHistory as doc JOIN person as p on p.personId=doc.lastModifiedBy
where doc.documentId = documentIdParam
order by revNumber desc;
select claimSystemId As id, Name as name  from  claimSystem;
END

我们检查了我们的数据库并且存在“claimSystemId”列。我们尝试在存储过程中定位不同的 select 语句,但每次错误并不频繁并且保持不变。

mysql连接详情如下:

exports.pool = mysql.createPool({
    connectionLimit: 100,
    host: "###",
    user: "##",
    password: "##",
    port: "3306",
    database: "##",
    multipleStatements: true
});

DB.pool.getConnection(function (err, connection) {
    if (!!err) {
        //console.error(err);
        res.status(500).send(err);
    } else {
        connection.query("call spGetMasterData(?)", _documentId, function (error, result) {
            if (error) {

                connection.release();
                var errorResponse = {
                    "errorMessage" : "Retry"
                }
                res.send(errorResponse)
                return
            }
            else {
                //.....
            }
        })
    }
})

【问题讨论】:

  • 你确定你在表 claimSystem 中有 select claimSystemId 吗?

标签: mysql node.js amazon-aurora


【解决方案1】:

我在这里不是 100%,但我相信,当您传递值时,您需要确保使用 ${value} 截断该值,并且如果您尝试传递的值是一个字符串,那么您将需要'${string_value}',它看起来可能是 '_documentId,但看起来错误与您的 connection.query() 一致;

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 2014-05-26
    • 2012-11-09
    • 2016-02-13
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多