【问题标题】:Codeigniter error message Duplicate entryCodeigniter 错误消息重复条目
【发布时间】:2013-11-30 23:41:28
【问题描述】:

我正在尝试实现 Php Codeigniter 模型函数,该函数可以计算二叉树的左子节点数和右子节点数,但我收到此消息错误:

错误号:1062

键 1 INSERT INTO 'mytable' 的重复条目 '4' (members_id, members_username, members_password,)文件名: C:\AppServ\www\app\system\database\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';

            }

            }
        }
    }

        }

【问题讨论】:

  • 你有什么问题?
  • 如何解决这个错误信息&这个计算孩子数量的逻辑是否正确?
  • 你好,问题是你已经为 ID 设置了唯一键(应该是,但你忘记将它设置为自动增量。)
  • 我将它设置为自动增量,我得到了同样的错误。
  • 问题是当你插入数据时..检查你的查询是否插入..如果你将自动增量设置为主键..让members_id的值为null

标签: php codeigniter


【解决方案1】:

Amin Adha 指出的是正确的。

当您向数据库中插入记录时,请尝试省略记录的 ID,或者将其设置为 NULL。

在这种情况下,ID 字段似乎是“members_id”

您在某处插入有问题。

【讨论】:

    【解决方案2】:

    尝试将自动增量添加到 member_id

     ALTER TABLE mytable ADD members_id INT PRIMARY KEY AUTO_INCREMENT;
    

    删除旧数据后重试。

    【讨论】:

      【解决方案3】:

      如果您使用整数作为 id,请尝试将类型字段 member_idint->PRIMARY 更改为 varchar->PRIMARY,并且不要在您的数据库上使用 Auto Increment

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-22
        • 2015-02-06
        • 2013-12-18
        • 2011-10-14
        相关资源
        最近更新 更多