Php 替换为vs更新
我最近发现了MYSQL函数Php 替换为vs更新,php,mysql,Php,Mysql,我最近发现了MYSQL函数REPLACE-INTO,因此与INSERT-INTO,UPDATE相比,它获得了成功。。我应该在什么时候使用替换为,而不是使用其他功能? 什么时候可以使用“替换为”或“过度更新为” 我当前更新的标准程序是: 检查用户输入出口 查询存在行的数据库 更新行 我的插入的标准程序是 检查用户输入是否存在 检查行是否存在 如果没有,则插入 如果没有,则返回一个错误 所以,总的来说替换为vs更新。如果可以接受,利弊如何 更换旨在缓解以下情况: 检查是否存在具有相同PK的记录 如果
REPLACE-INTO
,因此与INSERT-INTO
,UPDATE
相比,它获得了成功。。我应该在什么时候使用替换为,而不是使用其他功能?
什么时候可以使用“替换为”或“过度更新为”
我当前更新的标准程序是:
检查用户输入出口
查询存在行的数据库
更新行
我的插入的标准程序是
检查用户输入是否存在
检查行是否存在
如果没有,则插入
如果没有,则返回一个错误
所以,总的来说<代码>替换为
vs更新
。如果可以接受,利弊如何 更换旨在缓解以下情况:
检查是否存在具有相同PK的记录
如果是,请删除该行并为具有给定行的记录插入新行
如果否,请插入新记录
根据文档,替换相当于插入,除了删除之前已删除PK的任何现有记录之外。替换旨在缓解以下情况:
检查是否存在具有相同PK的记录
如果是,请删除该行并为具有给定行的记录插入新行
如果否,请插入新记录
根据文档,替换相当于插入,除了删除之前已删除PK的任何现有记录之外。替换为
最好被视为有条件插入。它将查看正在插入的记录的主键/唯一键,如果其中一个唯一键已经存在,它将更新现有记录的值,而不是insert。此更新通过删除旧行和插入新行数据来完成
因此,这样做的真正意义在于,您不必在尝试插入之前检查某个主键/唯一键是否已经存在(这通常会导致错误)。REPLACE-INTO
最好将其视为条件插入。它将查看正在插入的记录的主键/唯一键,如果其中一个唯一键已经存在,它将更新现有记录的值,而不是insert。此更新通过删除旧行和插入新行数据来完成
因此,这样做的真正目的是让您不必在尝试插入之前检查某个主键/唯一键是否已经存在(这通常会导致错误)。如果您想在出现类似情况时给用户一个错误,请使用您描述的方法2!否则,如果数据库中是否已经存在该记录并不重要,并且您只想替换该记录,请使用您描述的第一种方法 如果您想在出现类似情况时给用户一个错误,请使用您描述的方法2!否则,如果数据库中是否已经存在该记录并不重要,并且您只想替换该记录,请使用您描述的第一种方法 #2并不完全正确。它不会UPDATE
但是DELETE+INSERT
a行是的,从技术上讲它会执行DELETE+INSERT。我只想描述一下用例。那是什么?“如果是,则使用给定的记录更新记录”语句incorrect@db-移动:它仍然需要一些重新编码,因为它可能会混淆一个人并导致数据丢失#2并不完全正确。它不会UPDATE
但是DELETE+INSERT
a行是的,从技术上讲它会执行DELETE+INSERT。我只想描述一下用例。那是什么?“如果是,则使用给定的记录更新记录”语句incorrect@db-移动:它仍然需要一些重新编码,因为它可能会混淆一个人并导致数据丢失。方法只是一个例子,总的来说,问题是使用替换为的利弊和可接受的时间,REPLACE
是一种速记。否则,您必须使用至少两个查询来完成此操作。当你需要的时候使用它。方法只是一个例子,总的来说,问题是什么时候使用REPLACE-INTO
的利弊和一个可接受的时间。我想说,REPLACE
是一个速记。否则,您必须使用至少两个查询来完成此操作。当你需要的时候使用它。