web-dev-qa-db-ja.com

1つの列を既存の列データで更新するCodeIgniter単一更新クエリ?

私のデータベースには、datetimeのLast列とCurrent列があります。誰かが私が構築しているサービスへの有効なログインを最後に使用したときを監視するだけです。

私が知りたいのは、行の1つの列をその行の別の列で更新​​し、同時に他の列を更新することは可能ですか

すなわち、Lastを現在のCurrentとして設定し、次に現在の日付を本質的にCurrentとして設定しますか?

理にかなっていますか?

15
chris

このようにしてみてください..

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

上記のコードによって生成されたクエリ:-

更新login_table SET last_login = current_login、current_login = '2018-01-18 15:24:13' WHERE id = 'some_id'

47
Rajeev Ranjan
$data = array( 
    'name'      => $_POST['name'] , 
    'groupname' => $_POST['groupname'], 
    'age'       => $_POST['age']
);

$this->db->where('id', $_POST['id']);

$this->db->update('tbl_user', $data);
4
Praveen PL

テーブル行の単一の列のみをアップグレードする場合は、次のように使用できます。

$this->db->set('column_header', $value); //value that used to update column  
$this->db->where('column_id', $column_id_value); //which row want to upgrade  
$this->db->update('table_name');  //table name
3
Mustafiz
$this->db->set('usage', 'usage');  //Set the column name and which value to set..

$this->db->where('tag', 'Java'); //set column_name and value in which row need to update

$this->db->update('tags'); //Set your table name

これを試して...

2
kulandai yesu

CIサイトのすべての更新にこの機能を使用します

function _updateRowWhere($table, $where = array(), $data = array()) {
    $this->db->where($where);
    $this->db->update($table, $data);
}
0
Kyslik
        $id= $this->input->Post('edit_id');
        $date= $this->input->Post('date');
        $title=$this->input->Post('title');
        $content=$this->input->Post('content'); 

 $value=array('date'=>$date,'content'=>$content,'title'=>$title);
 $this->db->where('course_id',$id);
 if( $this->db->update('course',$value))
      {
        return true;
      }
      else
      {
        return false;
      }
0

更新クエリを記述するための別の速記方法は以下のようなものです...

$this->db->update('student',array('class'=>'xyz','name'=>'abc'),array('stud_id'=>20);

クラスxyzを設定し、「student」テーブルのstud_id = 20でabcという名前を付けます。

0
vishal patil

以下のコードを試してください:

$data = array(
    'name' = > $_POST['name'] ,
    'groupname'= > $_POST['groupname'],
    'age' = > $_POST['age']
);
$this->db->where('id', $_POST['id']);
$this->db->update('tabname', $data);
0
Sachin Jeremiah