обновление поля выхода из системы с полем предыдущего входа в систему с помощью MySQL и nodejs

голоса
0

Я сделал эту работу для данных, в которых поле выхода из системы равна нулю. Мне нужно проверить, если идентификатор пользователя и CatID на ту же дату имеют несколько входов, если это так, обновите логин второго выхода из системы с первой записи. Теперь мне нужно, чтобы сделать эту работу для записей перепутал значение говорят на ту же дату для ID_пользователя и CatID, один данные входа в систему и выхода из системы поле обновляется и еще записи оказывает нуль для выхода из системы.

UserRegister стол:

id | name | created            | login               | logout | userId | catId
-------------------------------------------------------------------------------------
1  |test | 2018-02-19 11:34:00  | 2018-02-19 11:34:00    | NULL   |  1     |  11
2  |test | 2018-02-21 14:01:42 | 2018-02-21 14:01:42     | NULL   |  1     |  11
3  |test | 2018-02-21 15:24:05 | 2018-02-21 15:24:05     | NULL   |  1     |  12
4  |test | 2018-02-22 16:46:15 | 2018-02-22 16:46:15     | NULL   |  1     |  11
5  |test2 | 2018-02-27 09:51:19 | 2018-02-27 09:51:19    | NULL   |  2     |  11
6  |test2 | 2018-02-28 11:59:24 | 2018-02-28 11:59:24    | NULL   |  2     |  13
7  |test  |2018-03-01 10:37:59 | 2018-03-01 10:37:59     | NULL   |  1     |  12
8  |test  |2018-03-01 10:39:52 | 2018-03-01 10:39:52     | 2018-03-01 10:41:49   |  1     |  12
9  |test  |2018-03-01 10:41:49 | 2018-03-01 10:41:49     | NULL   |  1     |  13
10  |test  |2018-03-01 15:34:52 | 2018-03-01 15:34:52    | NULL   |  1     |  13

код:

db.query(select *, date(login) as login_date from userRegister where logout is NULL limit 10, function (err, nulllogout) {
  if (!_.size(nulllogout))
  return 
  var i
  for (i in nulllogout) {
   if (nulllogout.hasOwnProperty(i)) {
    db.query(select * from userRegister where catId = ? AND userId = ? AND date(login) = ? AND login > ? order by login asc limit 1, [nulllogout[i].busId, nulllogout[i].driverId, nulllogout[i].checkIn_date, nulllogout[i].checkIn], function (err, autoLogout){
      if (!_.size(autoLogout))
      return 
      console.log(autoLogout[0],===================)
      //here we need to write update query which will update the logout field with previous login field date
    })
   }
  }
  })

В этом коде, у меня есть данные, поступающие из отборного запроса Теперь я должен написать запрос на обновление, который обновляется для конкретной записи. как получить предыдущий рекорд здесь?

Задан 19/06/2018 в 16:56
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more