как реализовать следующий mysql запрос? var sql = "UPDATE some_table SET ? = ? WHERE id = ?";
Я сделал так, но не заработало....
con.query(sql, [some_set_key, some_set_value, some_id_value], (err, res) => { // code })
var update_user_data = JSON.parse(chunk);
for (var key in update_user_data) {
var set_key = key, set_value = "";
if (key == "firstName") {
set_value = update_user_data["firstName"]
};
if (key == "lastName") {
set_value = update_user_data["lastName"]
};
if (key == "mail") {
set_value = update_user_data["mail"]
};
if (key == "password") {
set_value = update_user_data["password"]
};
var whering = baseData[0].id;
var update_all_users_data_sql = "UPDATE slide_tab SET ? = ? WHERE id = ?"
console.log(baseData[0].id);
con.query(update_all_users_data_sql, [set_key, set_value], [wheringId], (err, result) => {
if (err) throw err;
console.log("USER datas have updated");
res.end();
});
}
query()
метод - 1-ый аргумент - строка с запросом, второй - колбэк функция
То есть:
con.query("SELECT foo FROM bar", (err, res) => {
console.log(res)
})
В вашем случае можно:
con.query({
sql: update_all_users_data_sql
},
[set_key, set_value, wheringId],
(err, res) => {
console.log(res)
})
В SQL нельзя передавать имена колонок (так же как и других объектов БД) в виде переменных. Они должны быть указаны непосредственно в тексте запроса. Поэтому надо построить строку запроса самостоятельно так, что бы в ней оказались нужные имена, в таком виде update table set x=?, y=? ...
. Я бы сделал это примерно так:
var names=[]; // Массив с именами полей (и плейсхолдерами, в виде "x=?")
var values=[]; // Массив значений для передачи в query
for (var key in ['firstName', 'lastName', 'mail', 'password']) {
if(update_user_data[key] !== undefined) {
names.push(key+'=?');
values.push(update_user_data[key]);
}
}
var update_all_users_data_sql = "UPDATE slide_tab SET " + names.join(',') + " WHERE id=?";
values.push(baseData[0].id); // Добавляем значение для where
con.query(update_all_users_data_sql, values, ....);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Рылся в интернете находил много всякой информации на мою тему, но ничего из найденного не помогаетМожет вы поможете
Надо чтобы цифра стояла прямо напротив бордера блока, возможно ли как то опустить на пару пикселей подчеркивания или надо делать отдельный...