如何在Codeigniter活动记录中插入sequence.nextval值?
问题描述:
这是一个特别的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;
}
我该如何解决这个问题?我知道我可以使用函数编写查询,但我想用活动记录来完成。
注意: - 我正在使用Oracle 10g快速版。
答
$this->db->set('status', $status);
$this->db->set('ID', "SEQ_ID.NEXTVAL", FALSE); //false escape
$this->db->insert('mytable');
虽然这是对问题的回答,但最好是在几行文字中实际描述此代码应该执行的操作。 –