Я хочу обновить один из моих столбцов, когда он найдет пользователя уже в базе данных.
Это viewers = ['freddiejefferson']
Таблица:
kong_plays 10
freddiejefferson 10
Мой код:
function getPoints(){
for (viewerCount = viewerAmount; viewerCount >= 0; viewerCount--) {
currentViewer = viewers[viewerCount]
connection.query("SELECT * FROM points WHERE twitchName = currentViewer", (err, result) => {
if(err) throw err;
if (result === ''){
connection.query("INSERT INTO points (twitchName, points) VALUES (currentViewer, '10')", (err, result) => {
if(err) throw err;
console.log("Inserted into table")
});
}else{
connection.query("UPDATE points SET points= points+10 WHERE twitchName = currentViewer", (err, result) => {
if(err) throw err;
console.log("updated points")
});
}
});
}
}
Ошибка, которую он выдает: Error: ER_BAD_FIELD_ERROR: Unknown column 'currentViewer' in 'where clause'
ОШИБКА 1:
connection.query("INSERT INTO points (twitchName, points) VALUES (" + currentViewer " +, '10')", (err, result) => {
^^^^^^^^^^^^^ (under current viewer)
SyntaxError: missing ) after argument list
ОШИБКА 2:
throw err; // Rethrow non-MySQL errors
^
Error: ER_BAD_FIELD_ERROR: Unknown column 'undefined' in 'where clause'
Похоже, вы запрашиваете строку currentViewer
, вместо этого вы хотите запросить любую переменную currentViewer
.
Это будет сделано путем изменения строк запроса на:
connection.query("SELECT * FROM points WHERE twitchName = " + currentViewer, (err, result) => {
То же самое относится к инструкции insert:
connection.query("INSERT INTO points (twitchName, points) VALUES (" + currentViewer + ", '10')", (err, result) => {