2017-02-12 82 views
0

这是一个特别的Oracle查询: -如何在Codeigniter活动记录中插入sequence.nextval值?

INSERT INTO tbl_admin 
     (admin_id, admin_username, admin_email, 
     admin_password, admin_fname, admin_lname, admin_type) 
VALUES 
     ('TBL_ADMIN_SEQUENCE.nextval', 'saswat2', '[email protected]', 
     '$2a$16$y61NYSwQXSRA4m4GoRWJ5OhthFzfZ9e6yp8QcVhBNgSQK16Q.VkXq', 'Saswat', 'Routroy', 0); 

现在,使用笨活动记录运行此quesry,我写这段代码: -

$data = array(
     $this->identifier_field => 'TBL_ADMIN_SEQUENCE.nextval', 
     $this->username_field => $username, 
     $this->email_field => $email, 
     $this->password_field => $password, 
     $this->first_name_field => $first_name, 
     $this->last_name_field => $last_name, 
     $this->type_field => intval($type), 
    ); 

    // If inserting data fails 
    if (! $this->oracleDB->insert($this->user_table, $data)) 
    { 
     // Return false 
     return FALSE; 
    } 

现在,这是给我一个错误: - enter image description here

我该如何解决这个问题?我知道我可以使用​​函数编写查询,但我想用活动记录来完成。

注意: - 我正在使用Oracle 10g快速版。

回答

1
$this->db->set('status', $status); 
$this->db->set('ID', "SEQ_ID.NEXTVAL", FALSE); //false escape 
$this->db->insert('mytable'); 
+2

虽然这是对问题的回答,但最好是在几行文字中实际描述此代码应该执行的操作。 –

相关问题