#mysql #node-mysql2
#mysql #узел-mysql2
Вопрос:
Пытаюсь запустить запрос для обновления базы данных, и по какой-то причине MySQL возвращает:
Код ошибки: 1064. У вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с ‘?’ в строке 1
Попробовал строку только в SQL, чтобы посмотреть, что произошло
INSERT INTO eu_profile (id, profileName) VALUES ?
Он также завершается ошибкой с тем же сообщением в коде:
import * as mysql2 from 'mysql2';
import * from 'mysql2/promise'
/** Lets open the database for mysql2 */
const mysql2connection = mysql2.createConnection({
"host": "localhost",
"port": 3306,
"user": "node",
"password": "NotTellingYou",
"database": "stats"
});
mysql2connection.connect(function(error){
if(!!error){
console.log(error);
}else{
console.log('Connected!:)');
}
});
let dbTables: string="";
let sqlInsert: string="";
dbTables = "id, profileName";
sqlInsert = "INSERT INTO eu_profile (" dbTables ") VALUES ?"
const profileLoad = await mysql2connection.query(sqlInsert, [profileData], function(err) {
if (err) throw err{
mysql2connection.end();
}else
}).then(console.log("We are done here"));
Комментарии:
1. Каково содержимое profiledata?
Ответ №1:
Если у вас есть два столбца, вам нужны значения tiw
INSERT INTO eu_profile (id, profileName) VALUES (?,?)
Также [profileData]
требуется 2 значения, такие как [req.body.topic, req.body.note]
Комментарии:
1. Я ужасно сожалею, скопировал неправильный код, попытался исправить, затем все это запустилось, так что теперь я понятия не имею, что не удалось в прошлый раз. Но, по крайней мере, теперь он кажется счастливым 🙂