Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn CodeIgniter:Làm thế nào để di chuyển một giá trị cột sang một cột khác trong cùng một hàng và lưu thời gian hiện tại trong cột ban đầu?

Hãy thử như thế này:

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

Đặc biệt chú ý đến set() tham số thứ 3 của cuộc gọi. false ngăn CodeIgniter trích dẫn tham số thứ 2 - điều này cho phép giá trị được coi là một cột bảng chứ không phải một giá trị chuỗi. Đối với bất kỳ dữ liệu nào không cần xử lý đặc biệt, bạn có thể gộp tất cả các khai báo đó vào $data mảng.

Truy vấn được tạo bởi mã trên:

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. Làm cách nào để chuẩn bị câu lệnh cho truy vấn cập nhật?

  2. Sự cố CloudSQL PDO (unix_socket) trên Google App Engine

  3. Cài đặt mysql-python trên macOS High Sierra

  4. Tìm xem số có nằm giữa hai số trong các trường khác nhau trong cơ sở dữ liệu MySQL không

  5. SQL Performance UNION so với OR