sql >> Databáze >  >> RDS >> Mysql

Dotaz CodeIgniter:Jak přesunout hodnotu sloupce do jiného sloupce ve stejném řádku a uložit aktuální čas do původního sloupce?

Zkuste to takto:

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

Zvláštní pozornost věnujte set() 3. parametr volání. false zabraňuje CodeIgniter v citování 2. parametru -- to umožňuje, aby se s hodnotou zacházelo jako se sloupcem tabulky a nikoli s hodnotou řetězce. Pro jakákoli data, která nevyžadují zvláštní zacházení, můžete všechny tyto deklarace shrnout do $data pole.

Dotaz vygenerovaný výše uvedeným kódem:

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


  1. Desetinné hodnoty v SQL pro dělení výsledků

  2. Spočítejte si celkové náklady na vlastnictví vašeho SQL Server Monitoring

  3. Jak odečíst jednu od měsíce formátu data v mysql?

  4. MySQL Seznam všech duplikátů