sql >> Database >  >> RDS >> Mysql

CodeIgniter-query:hoe een kolomwaarde naar een andere kolom in dezelfde rij te verplaatsen en de huidige tijd in de oorspronkelijke kolom op te slaan?

Probeer het als volgt:

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

Besteed bijzondere aandacht aan de set() de derde parameter van de oproep. false voorkomt dat CodeIgniter de 2e parameter citeert -- hierdoor kan de waarde worden behandeld als een tabelkolom en niet als een tekenreekswaarde. Voor alle gegevens die geen speciale behandeling nodig hebben, kunt u al die aangiften in de $data plaatsen array.

De zoekopdracht gegenereerd door bovenstaande code:

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


  1. Hoe maak je een TRIGGER in SEQUELIZE (nodeJS)?

  2. Hoe PHP+MySQL CMS zelf te updaten?

  3. De naam van een mysql-procedure wijzigen

  4. PHP hoe HTML-string in database op te slaan