Так что, по сути, я использую транзакцию на моем nodejs сервере с mysql, чтобы получить первую строку, а затем удалить эту строку из таблицы. код для этого выглядит следующим образом:
app.get('/', (req, res) => {
connection.query("START TRANSACTION; SELECT * FROM data.train_data LIMIT 1; DELETE FROM data.train_data LIMIT 1; COMMIT;",(err,rows) => {
if(err){
console.log('Error selecting tweets from Database...');
return;
}
console.log('Successfully recieved tweets from database');
res.render('index', {
title: 'Tweet Labeler',
data: rows[1]
});
});
Проблема в том, что даже если запрос работает правильно, когда я перенаправить на страницу на моей стороне клиента javascript, как это:
function relClick(){
var xhr = new XMLHttpRequest();
var newData = {'tweet':data[0].tweet,'relevant':1};
var jsonData = JSON.stringify(newData);
xhr.open("POST","/",true);
xhr.setRequestHeader('Content-type','application/json');
xhr.send(jsonData);
console.log("Clicked Relevant");
xhr = new XMLHttpRequest();
xhr.open("GET","/",true);
xhr.send();
nextItem();
}
По сути, я хочу повторить этот процесс и извлечь новую верхнюю строку из таблицы, но, используя операторы печати, я пришел к выводу, что каким-то образом не осознается, что строка была удалена, хотя при использовании mysql верстак я могу увидеть, что строка была удалена. Как вы можете видеть на этом скриншоте, он продолжает захватывать строку с идентификатором 24, даже если он был удален? ![enter image description here](https://i.stack.imgur.com/3zyrm.png)
Я действительно не понимаю, почему это так. Надеюсь, кто-то с большим опытом может помочь мне, потому что я новичок в этом. Заранее спасибо!