sql >> Databasteknik >  >> RDS >> Mysql

CodeIgniter-fråga:Hur flyttar man ett kolumnvärde till en annan kolumn i samma rad och sparar den aktuella tiden i den ursprungliga kolumnen?

Försök så här:

$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);

Var särskilt uppmärksam på set() samtalets tredje parameter. false förhindrar CodeIgniter från att citera den andra parametern -- detta gör att värdet kan behandlas som en tabellkolumn och inte ett strängvärde. För all data som inte behöver specialbehandlas kan du klumpa ihop alla dessa deklarationer i $data array.

Frågan som genereras av ovanstående kod:

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


  1. Välj och uppdatera i samma fråga

  2. Hur hittar man på varandra följande rader baserat på värdet på en kolumn?

  3. Hur man konverterar ett heltal till en decimal i SQL Server

  4. Välj data mellan två datum?