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

use*_*612 4 codeigniter

我没有得到查询生成器的替换和更新之间的区别。特别是有关替换的文档...

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

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

更换

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

$this->db->replace('table', $data);
Run Code Online (Sandbox Code Playgroud)

更新资料

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

$this->db->where('id', $id);
$this->db->update('mytable', $data);
Run Code Online (Sandbox Code Playgroud)

谢谢。

小智 6

更换

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

更新

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