#javascript #mysql #node.js #inquirerjs
#язык JavaScript #mysql #node.js #вопрошающий
Вопрос:
.then(function (val) { var roleId = roleArr.indexOf(val.role) 1; db.query( 'UPDATE employee SET role_id = ? WHERE first_name = ? AND last_name = ?;', [roleId, val.firstname, val.lastName], function (err) { if (err) throw err; console.table(val); startPrompt(); } ); });
Этот код взят из заявления запрашивающего. Идентификатор роли, val.firstname и val.LastName являются хорошими переменными, поскольку они тестируются в других частях программы. Однако инструкция update не обновляется. Я попробовал это с двойными кавычками вокруг переменных оператора where, но это не работает. Что я делаю не так? То же самое утверждение работает в оболочке mysql.
Комментарии:
1. Сообщения об ошибках?
2. Как мне зарегистрировать результаты запроса в консоли?
3. Никаких сообщений об ошибках просто не запускает запрос.
Ответ №1:
Я изменил код, чтобы получить идентификатор имени, которое я хотел изменить, вместо сопоставления имени и фамилии.
var nameArr = []; function Name() { db.query( "SELECT * FROM employee", function (err, res) { if (err) throw err; for (var i = 0; i lt; res.length; i ) { nameArr.push(res[i].first_name " " res[i].last_name); } }); return nameArr; }
и
var nameId = nameArr.indexOf(val.name) 1;
Затем я использовал Имя (), чтобы получить варианты ответа на вопрос спрашивающего.