Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie CodeIgniter:Jak przenieść wartość kolumny do innej kolumny w tym samym wierszu i zapisać aktualny czas w oryginalnej kolumnie?

Spróbuj tak:

$data = array('current_login' => date('Y-m-d H:i:s'));
$this->db->set('last_login', 'current_login', false);
$this->db->where('id', 'some_id');
$this->db->update('login_table', $data);

Zwróć szczególną uwagę na set() trzeci parametr wywołania. false zapobiega cytowaniu drugiego parametru przez CodeIgniter — to pozwala na traktowanie wartości jako kolumny tabeli, a nie wartości ciągu. W przypadku wszelkich danych, które nie wymagają specjalnego traktowania, możesz wrzucić wszystkie te deklaracje do $data tablica.

Zapytanie wygenerowane przez powyższy kod:

UPDATE `login_table`
SET last_login = current_login, `current_login` = '2018-01-18 15:24:13'
WHERE `id` = 'some_id'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. formularz przepustki wybrany do następnej strony

  2. Jak wybrać liczbę za pomocą płynnego kreatora zapytań Laravela?

  3. Jak liczyć tylko pierwsze wystąpienie wartości?

  4. Znacznik czasu Laravel jest aktualizowany bez wyraźnego wezwania do zrobienia tego

  5. W jaki sposób podgrupy mogą mieć wygenerowaną kolumnę przyrostu dodaną w zapytaniu sql?