2016-02-11 421 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