2016-02-11 368 views
0

您好,我有一个奇怪的语法错误 错误是:您的SQL语法错误,请查看与您的MySQL服务器版本相对应的正确sybtax使用手册:1064 SQLSTATE:在第1行 错误号数据“42000”ER_PARSE_ERROR mysql错误,语法错误errno:1064

这是为了插入到数据库中的代码:

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

可能重复[如何解决MySQL错误#1064?](http://stackoverflow.com/questions/23515347/how-cani-i-fix-mysql-error-1064) –

回答

0

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

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

所以你的情况,你会想你的查询更新到类似:

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

(substite category您的列名,而当然)

+0

它的工作感谢你为你的时间。 –

+0

感谢@OussamaZorgui,如果建议的解决方案适合您,请随时接受此答案:) – Sean3z