проблема с использованием mysql на сервере nodejs с запросом транзакции - PullRequest
0 голосов
/ 08 января 2020

Так что, по сути, я использую транзакцию на моем 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

Я действительно не понимаю, почему это так. Надеюсь, кто-то с большим опытом может помочь мне, потому что я новичок в этом. Заранее спасибо!

...