php – “REPLACE INTO”与INSERT [IF]
好吧,我有一个题目,不是真正的题目. 我的数据库中有一个表,相等小,只有3列,但有也许增添.我有两个题目的办理方案,但不知道为什么要行使个中一个. 我有一段数据,也许已经存在,也也许不存在于数据库中.办理这个题目的两种要领.我有独一的ID,以是很轻易搜查. >搜查数据库中是否存在记录,假如不存在,则INSERT INTO数据库 我此刻的题目是.哪一个更好用.行使2个功效中的任何一个有什么利弊.照旧有更好的功效? 留意,数据完全沟通,因此记录不行能行使较新的值举办更新.因此,REPLACE INTO将插入已存在的数据. 最佳谜底 这里不保举REPLACE INTO – 你真的不必要改换任何对象.它执行DELETE后跟INSERT,带来全部效果.譬喻,必需更新全部索引,假如频仍行使它,将导致不须要的事变和索引碎片.另一方面,有ON DUPLICATE KEY UPDATE,它首要用于计数器,但你没有以增量或任何其他值变动来更新你的行,以是你必需行使像SET id = id或相同的稀疏的语法. 搜查数据库中是否存在记录对您来说是最佳办理方案,可是不要行使其他查询,而是让mysql对您举办搜查并行使:
这样,假如您实行插入具有一再独一键或主键的任何行,则不会在不天生任何错误的环境下插入它.请留意也许穷乏其他错误动静的副浸染,但假如您确切知道插入的内容,则应该没题目. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |