#javascript #mysql #sql #node.js
#javascript #mysql #sql #node.js
Вопрос:
Я бился головой о стену, пытаясь выяснить проблему с синтаксисом MySQL, который у меня есть. Я получаю сообщение об ошибке:
{«сообщение»: «У вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом ‘?, ?, ?,?,?,?,( ВЫБЕРИТЕ account_id ИЗ учетных записей, ГДЕ account_name = ?),?,?,?, UUI’ в строке 1»}
Вот код на серверной части, который я настроил:
const Customer = function(customer) {
this.customer_id = customer.customer_id;
this.contact_title = customer.contact_title;
this.contact_first = customer.contact_first;
this.contact_last = customer.contact_last;
this.referral_source = customer.referral_source;
this.initial_contact_date = customer.initial_contact_date;
this.job_title = customer.job_title;
this.account = customer.account;
this.phone = customer.phone;
this.email = customer.email;
this.comments = customer.comments;
this.created_by = customer.created_by;
this.status = customer.status;
}
Customer.create = (newCustomer, result) => {
console.log(newCustomer);
const sql = 'INSERT INTO customers VALUES(UUID_TO_BIN(?, 1),?,?,?,?,?,?,(SELECT account_id FROM accounts WHERE account_name = ?),?,?,?,UUID_TO_BIN(?, 1),?);';
db.query(sql, newCustomer, (err, res) => {
if (err) {
result(err, null);
return;
}
result(null, { id: res.insertId, ...newCustomer });
});
};
Я ни за что на свете не могу понять, где ошибка, поскольку она работает на рабочем столе. Любая помощь была бы очень признательна, спасибо!
Комментарии:
1. Вы забыли подготовить инструкцию и добавить значения параметров.
2. Вам не нужно готовить инструкцию, если вы вставляете во все столбцы правильно? И значения поступают от newCustomer. Значения db.query — sql = statement, newCustomer = values
Ответ №1:
На самом деле я сам нашел ответ. Я пытался использовать объект, думая, что значения будут помещены в инструкцию. Просто нужно было создать новую переменную с Object.values и поместить ее в функцию базы данных.