gpt4 book ai didi

php - 使用 Codeigniter 插入忽略

转载 作者:IT王子 更新时间:2023-10-29 01:23:57 25 4
gpt4 key购买 nike

我正在尝试使用 Codeigniter 和 Active Records 向 MySQL 表中插入几行。

PHP 代码

$data = array('......');  // some rows of data to insert
$this->db->insert_batch('my_table', $data);

但是这可能会导致重复的行被插入到表中。为了处理重复数据的插入,如果行是重复的,我计划使用 INSERT IGNORE 命令不插入该行。

问题:我在 Active Records 中找不到 INSERT IGNORE 等效项,并且不想编辑 Active Record 类。还有其他选择吗?

以下看起来很有趣,但是如果我执行以下操作,查询不会运行两次吗?

$insert_query = $this->db->insert_batch('my_table', $data);  // QUERY RUNS ONCE
$insert_query = str_replace('INSERT INTO','INSERT IGNORE INTO',$insert_query);
$this->db->query($insert_query); // QUERY RUNS A SECOND TIME

最佳答案

不要使用 insert_batch,因为它实际运行查询。你要insert_string

$insert_query = $this->db->insert_string('my_table', $data);
$insert_query = str_replace('INSERT INTO','INSERT IGNORE INTO',$insert_query);
$this->db->query($insert_query);

更新:这不适用于批量查询,一次只能查询一行。

关于php - 使用 Codeigniter 插入忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10965792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com