我正在尝试实现Php Codeigniter模型函数,该函数可以计算左子项的数量和二叉树的正确子项数,但是我收到此消息错误:
错误号码:1062
密钥1的重复条目'4'INSERT INTO'mytable'(
members_id
,members_username
,members_password
,)文件名: C:\的appserv \ WWW \应用\ SYSTEM \数据库\ DB_driver.php行号:330
我使用此功能,我认为我有一些逻辑错误。
function count(){
$query = $this->db->get('mytable');
foreach ($query->result() as $row) {
if ($row->id > 1) {
$Right_Child= $this->insert_to_right($row, $row->id);
$Left_child = $this->insert_to_left($row, $row->id);
$count1=0;
$count2=0;
if($Left_child!=NULL){
for($count1;$count1<=10;$count1++)
{
$count1=$htis->Left_child->count();
echo 'Left_child';
}
if($Right_Child!=NULL){
for($count2;$count2<=10;$count2++){
$count2= $this ->Right_Child->count();
return $count2;
echo 'Right_Child';
if($count1==$count2){
echo'tree';
}
}
}
}
}
答案 0 :(得分:0)
Amin Adha指出的是正确的。
将记录插入数据库时,请尝试省略记录的ID,或将其设置为NULL。
在这种情况下,ID字段似乎是&#34; members_id&#34;
您在某处插入时遇到问题。
答案 1 :(得分:0)
尝试将auto incrementamt添加到member_id
ALTER TABLE mytable ADD members_id INT PRIMARY KEY AUTO_INCREMENT;
删除旧数据后再试一次。
答案 2 :(得分:0)
如果您将Integer用作 id ,请尝试将您的类型字段 member_id 从 int -> PRIMARY更改为 varchar -> PRIMARY,并且不要在数据库上使用自动增量