ER_PARSE_ERROR mysql错误,语法错误错误:1064

时间:2016-02-11 14:03:57

标签: javascript mysql express

嗨,我得到了一个奇怪的语法错误 错误是:您的SQL语法中有错误,请检查与您的MySQL服务器版本对应的手册,以便在第1行使用右侧sybtax:data。 错误:1064 SqlState:'42000'

这是要插入数据库的代码:

function addCategory(category){
    var execution = q.defer();
    var query = 'INSERT INTO categories SET :data';
    console.log(query);
    connection.query(query,{data:category}, function(err, res){
        if(err){
            execution.reject(err);
            console.log(err);
            return;
        }
        execution.resolve(res);
    });
    return execution.promise;
}

虽然此函数将获得一个类别作为json对象。 奇怪的是,这个函数以前工作过,它的编写方式和给出错误的方式相同。如果你能帮我解决这个问题,我会非常感激,谢谢。

1 个答案:

答案 0 :(得分:0)

您尝试运行的查询无效;查看INSERT syntax文档。标准INSERT查询类似于以下内容:

INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);

因此,在您的情况下,您需要将查询更新为:

var query = 'INSERT INTO categories (category) VALUES(:data)';

(当然,您的列名称为category