2014-11-02 101 views
0

我尝试在postgresql中的用户表中插入一行时出现问题,例如:用codeigniter将数据插入postgresql数据库

我有活动记录正常插入,$这个 - > DB->插入($表,$数据),我得到一个错误是这样的:

错误:它不存在A列«user_accounts»的关系«user_accounts»LINE 1:INSERT INTO“user_accounts”(“user_accounts”“uacc_group_fk”

,我想这个问题可能是我将插入域里面的表名(。 “user_accounts”。“uacc_group_fk”),

你知道我该如何避免这种情况?我只想把没有表名的字段名称。

在此先感谢! =)

+0

外键关系的错误:

这在​​insert_user机能的研究中使用的数据阵列? – Bankzilla 2014-11-02 23:47:38

+0

你的$数据是什么样的? – 2014-11-03 01:15:45

+0

Banzilla-它不是一个外键错误,@Shaiful Islam-我的变量$ data是一个数组:$ data = array($ this-> auth-> tbl_col_user_account ['group_id'] => $ group_id, $ this- > auth-> tbl_col_user_account ['email'] => $ email, $ this-> auth-> tbl_col_user_account ['username'] =>($ username)?$ username:'', $ this-> auth-> tbl_col_user_account ['password'] => $ hash_password, $ this-> auth-> tbl_col_user_account ['ip_address'] => $ ip_address,); – 2014-11-03 03:49:40

回答

0

您是否检查过列“user_accounts”。“uacc_group_fk”是否存在(带引号)?

$sql_insert = array(
     $this->auth->tbl_col_user_account['group_id'] => $group_id, 
     $this->auth->tbl_col_user_account['email'] => $email, 
     $this->auth->tbl_col_user_account['username'] => ($username) ? $username : '', 
     $this->auth->tbl_col_user_account['password'] => $hash_password, 
     $this->auth->tbl_col_user_account['ip_address'] => $ip_address, 
     $this->auth->tbl_col_user_account['last_login_date'] => $this->database_date_time(), 
     $this->auth->tbl_col_user_account['date_added'] => $this->database_date_time(), 
     $this->auth->tbl_col_user_account['activation_token'] => $activation_token, 
     $this->auth->tbl_col_user_account['active'] => 0,  
     $this->auth->tbl_col_user_account['suspend'] => $suspend_account   
    ); 
+0

是的,我已经检查过,并且它正确地得到所有的值,但问题是postgresql把这个表名作为列名,所以它不能识别它。 – 2014-11-03 20:48:16