codeigniter 密钥'PRIMARY'代码点火器的条目重复

nzkunb0c  于 2022-12-07  发布在  其他
关注(0)|答案(3)|浏览(109)

在将所有多项插入到数据库后,出现关键字'PRIMARY'的重复条目'19-0'错误

$resp = curl_exec($curl);
$gorong = json_decode($resp);
foreach ($gorong->data as $g){
                        $this->db->insert('mod_auto_harga', array(
                        'sv_id' => '19',
                        'kode' => $g->buyer_sku_code,
                        'keterangan' => $g->product_name,
                        'harga' => $g->price,
                        'status' => $g->seller_product_status,
                        'type' => $g->type,
                        ));
     
        $id = $this->db->insert_id();

67up9zun

67up9zun1#

问题是您的sv_id充当PRIMARY KEY,而PRIMARY KEY充当unique。您似乎误解了PRIMARY KEY和sv_id的用途。
要克服这一点
1.添加AUTO_INCREMENTID字段。
1.从sv_id.中删除现有的PRIMARY KEY常量

删除现有主键

ALTER TABLE mod_auto_harga MODIFY sv_id INT NOT NULL;
ALTER TABLE mod_auto_harga DROP PRIMARY KEY;

添加新字段作为主键

ALTER TABLE mod_auto_harga ADD id INT PRIMARY KEY AUTO_INCREMENT;

另外,在表中插入数据时,不要将值填充到id字段中,默认情况下该字段会自动递增。

gopyfrb3

gopyfrb32#

您必须从该表中移除现有的sv_id,并使用自动增量选项创建新的sv_id属性或列

AUTO_INCREMENT
PRIMARY KEY

您在现有列中犯了一个错误,您没有设置自动增量属性。只需转到localhost或live server上的任何位置,然后使用上述方法解决此问题

68de4m5k

68de4m5k3#

您将列sv_id设置为数据库中主键,但在插入时将其硬编码为19请删除该列,它应在插入时自动生成
如果你确实需要所有这些都有19作为值。然后从数据库中删除该列的索引。并添加一个新的列作为主键。

相关问题