"您的 SQL 语法有误;检查与您的MySQL服务器版本相对应的手册,了解在"WHERE"附近使用的正确语法



我正在尝试更新MySQL,每次我运行它时都会出现错误。我错过了什么?我看了所有的帖子有类似的错误,我做的每一个改变,我得到同样的错误。

你有一个错误的SQL语法;查看手册对应于MySQL服务器版本,以便使用正确的语法near 'WHERE = ' lastName ' = 'zuniga', ' roleID ' = 2' at line 1

I have try:

"UPDATE employees SET ?"

它只是更新列表上的每个人。而不仅仅是我想要更新的个人。

function updateEmployeeRole() {
connection.query("SELECT employees.lastName, role.title FROM employees JOIN role ON employees.roleID = role.id;", 
(err, res) => {
if (err) throw err;
inquirer.prompt([
{
name: "lastName",
type: "rawlist",
choices: function () {
var lastName = [];
for (var i = 0; i < res.length; i++) {
lastName.push(res[i].lastName);
}
return lastName;
},
message: "What is the employee's last name? ",
},
{
name: "role",
type: "rawlist",
message: "What is the employee's new title? ",
choices: selectRole()
},
]).then(function (answers) {
var roleId = selectRole().indexOf(answers.role) + 1;
connection.query("UPDATE employees SET WHERE ?",
{
lastName: answers.lastName,
roleID: roleId
},

function (err) {
if (err)
throw err;
console.table(answers);
startProcess();
});
});
});
}

使用此表单:

connection.query('UPDATE users SET foo = ?, bar = ?, baz = ? WHERE id = ?', ['a', 'b', 'c', userId], function (error, results, fields) {
if (error) throw error;
// ...
});

https://www.npmjs.com/package/mysql

此链接将为您提供更多详细信息:

需要在数组中传递参数

connection.query("UPDATE employees SET ? WHERE ?",
[
{ roleID: roleId }, 
{ lastName: answers.lastName }
],

function (err) {
if (err)
throw err;
console.table(answers);
startProcess();
});

相关内容

最新更新