Ошибка в синтаксисе sql вблизи использования SELECT, код: 'ER_PARSE_ERROR', номер ошибки: 1064 - PullRequest
1 голос
/ 05 июля 2019

У меня ошибка в запросе sql.Я получаю террор: code: 'ER_PARSE_ERROR', errno: 1064.

Я попытался скопировать и вставить его непосредственно в базу данных, и он работал отлично, но когда я запускаю его на моем сервере nodejs, введите mysql, я получаю ошибку,Запрос:

SELECT  ER.id_entidad as companyid, E.nombre as name, ER.posicion as position, E.url_imagen as url,ER.created
FROM
entidad_red ER, cajero C, red R, entidad E
WHERE E.id_red = R.id_red AND C.id_red = E.id_red AND E.id_entidad = ER.id_entidad AND C.Serial = 'id'

И sqlMessage:

В вашем синтаксисе SQL есть ошибка;обратитесь к руководству, соответствующему вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с \ "SELECT ER.id_entidad в качестве идентификатора компании, E.nombre в качестве имени, ER.posicion в качестве позиции, \ 'в строке 1'.

Спасибо за помощь

Вот как я выполняю запрос:

const dbConnection = mysql.createConnection(config);

app.get('/kioskcompanies', middleware.checkToken, function(req, res){
        var serial = req.query.kioskid;
        var sql = "SELECT  ER.id_entidad as companyid, E.nombre as name, ER.posicion as position, E.url_imagen as url,ER.created " +
        "FROM entidad_red ER, cajero C, red R, entidad E " +
        "WHERE " +
        "E.id_red = R.id_red " +
        "AND C.id_red = E.id_red " +
        "AND E.id_entidad = ER.id_entidad " +
        "AND C.Serial = '" + serial + "'";
        console.log(sql)
        dbConnection.query(sql, (err, result) => {
            if(err){
                console.log(err);
                res.status(200).json({
                    status:'error',
                    code:"1",
                    msg:'Error consultando la BD',
                })
            }
            else if(result.length === 0){
                res.status(200).json({
                    status:'error',
                    code:"3",
                    msg:'Entidad de recaudo no existe.',
                })
            }
            else{
                res.status(200).json({
                    status:'error',
                    code:'0',
                    companies:result,
                    msg:'Consulta correcta'
                })
            }
        })
    })

1 Ответ

0 голосов
/ 05 июля 2019

Я нашел проблему.Очевидно между de Select и строками у меня было два пробела, и mysql-node не работает с этим.PhpMyAdmin выполняет запрос, а Node - нет.

...