Ошибка: ER_BAD_FIELD_ERROR: неизвестный столбец 'requestSystemId' в 'списке полей' - PullRequest
0 голосов
/ 17 мая 2018

Мы используем пакет mysql в Node.Js для подключения к 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

Мы проверили нашу БД, и существует столбец "requestSystemId". Мы пытались расположить различные операторы 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 {
                //.....
            }
        })
    }
})

1 Ответ

0 голосов
/ 09 октября 2018

Я не на 100% здесь, но я считаю, что когда вы передаете значение, вам нужно убедиться, что вы усекаете значение с ${value}, и если значение, если значение, которое вы пытаетесь передать, является строкой, то вам понадобится '${string_value}', который выглядит так, как может быть _documentId, но похоже, что ошибка на связи с вашим connection.query ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...