sql >> Database teknologi >  >> RDS >> Mysql

CodeIgniter-forespørgsel:Hvordan flytter man en kolonneværdi til en anden kolonne i samme række og gemmer den aktuelle tid i den oprindelige kolonne?

Prøv sådan her:

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

Vær særlig opmærksom på set() opkalds 3. parameter. false forhindrer CodeIgniter i at citere den anden parameter -- dette gør det muligt at behandle værdien som en tabelkolonne og ikke en strengværdi. For alle data, der ikke skal behandles speciel, kan du samle alle disse erklæringer i $data array.

Forespørgslen genereret af ovenstående kode:

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


  1. Hvordan importerer man nemt flere sql-filer til en MySQL-database?

  2. Fatal fejl:Læs venligst sikkerhedsafsnittet i manualen for at finde ud af, hvordan du kører mysqld som root

  3. Sådan får du den aktuelle dato og tid (uden tidszone) i PostgreSQL

  4. Hvordan opretter man en MySql-database ved hjælp af shell_exec php?