$ this-> db-> replace()$ this-> db-> update()之间的区别

时间:2016-08-22 06:58:18

标签: codeigniter

我没有区分查询构建器的替换和更新。特别是替换的文档...

  

此方法执行REPLACE语句,该语句基本上是(可选)DELETE + INSERT的SQL标准,使用PRIMARY和UNIQUE键作为决定因素。

...但我没有看到在示例中使用PK的迹象。我在这里缺少一些基础知识吗? (我知道更新很好)。

替换

$data = array(
    'title' => 'My title',
    'name'  => 'My Name',
    'date'  => 'My date'
);

$this->db->replace('table', $data);

更新

$data = array(
    'title' => $title,
    'name' => $name,
    'date' => $date
);

$this->db->where('id', $id);
$this->db->update('mytable', $data);

感谢。

1 个答案:

答案 0 :(得分:4)

<强>更换

它就像插入一样。但如果插入的主键与另一个主键相同,则旧键将被删除,新的键将被插入。

<强>更新

更新您尝试更新的当前行。