2013-05-30 1 views
0

Я обновляемой таблицы, когда я запускаю этот запрос он выдаст ошибку:не удалось удалить синтаксис SQL в UPDATE запрос

client.query('UPDATE Campaign SET (Name, StartDate) VALUES ("' +req.body.Name+ '" , "' +req.body.StartDate+ '") WHERE idCampaign = ' +id , function(err, result) { 
    if(err) { 
     console.log("err found" + err); 
    } 
    else{ 
     console.log(result); 
     res.send(result[0]) 
    } 

}); 

ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(Name, StartDate) VALUES ("" , "") WHERE idCampaign = 89126b2d-c906-11e2-9cf' 

Я не знаю, где ошибка

ответ

1

Согласно описанию ошибки, idCampaign является строка, а не число, поэтому вам нужно использовать кавычки. Попробуйте с этим

... WHERE idCampaign = '" + id + "'" 

EDIT

я полностью пропустил, что ваше UPDATE заявление было все не так, я просто обратил внимание на сообщение об ошибке. @RedBaron является правильным, но вам все равно придется использовать котировки на id. Попробуйте с этим

"UPDATE Campaign SET Name='" + req.body.Name + "', StartDate = '" + req.body.StartDate+ "' WHERE idCampaign = '" + id + "'" 
+0

я пишу этот client.query запрос ('UPDATE кампании SET Name =' + req.body.Name + 'StartDate =' + REQ .body.StartDate + 'ГДЕ idCampaign = "' + идентификатор + '"', функция (ERR, результат) { , если (ERR) { console.log ("ERR найдено" + ERR); } еще { console.log (результат); res.send (результат [0]) } }); – ana

+0

и stil получение ошибки @Claudio Redi – ana

+0

@ana: обновлено мой ответ –

1

Это не то, как в MySQL используется инструкция по обновлению. Посмотрите на Documentation

В широком смысле запрос должен быть как

'UPDATE Campaign SET Name=' + req.body.Name +', StartDate ='+req.body.StartDate+ ' WHERE idCampaign = ' + id 
+0

Я все еще получаю ошибку: – ana

+0

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «WHERE idCampaign = 351adc56-c906-11e2-9cfa-74867a028324» по строке 1 @RedBaron – ana

+0

@ana Я думаю, вы должны распечатать запрос как string, прежде чем передать его на 'client.query'. Это поможет вам лучше отладить его. Как отметил Клаудио в своем ответе, вы, вероятно, пропускаете цитаты (тем более, что дата должна указываться) – RedBaron