Mysql
 sql >> база данни >  >> RDS >> Mysql

Запитване на CodeIgniter:Как да преместите стойност на колона в друга колона в същия ред и да запишете текущото време в оригиналната колона?

Опитайте така:

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

Обърнете специално внимание на set() 3-ти параметър на повикването. false не позволява на CodeIgniter да цитира 2-ри параметър - това позволява стойността да се третира като колона на таблицата, а не стойност на низ. За всички данни, които не се нуждаят от специална обработка, можете да обедините всички тези декларации в $data масив.

Заявката, генерирана от горния код:

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. Големи .PDF файлове не се качват в MySQL база данни като среден BLOB чрез PHP, файловете под 2MB работят добре

  2. Как да покажа реда на таблицата на mysql като колона

  3. извличането на Integer от DB с помощта на Zend Framework връща стойността като низ

  4. Извличане на данни от MySQL на партиди чрез Python

  5. Показване на конкретно изображение в зависимост от конкретен текст в MySQL таблица с помощта на PHP