小编典典

替换为查询语法

mysql

我希望能够使用“替换为”语句更新相同架构的表。最后,我需要能够使用可能已更改的值更新大型表。

这是我用来开始的查询:

REPLACE INTO table_name
(visual, inspection_status, inspector_name, gelpak_name, gelpak_location),
VALUES (3, 'Partially Inspected', 'Me', 'GP1234', 'A01');

我不明白的是,数据库引擎如何知道什么是重复行,什么不是?这些数据非常重要,我不能冒险破坏数据。是否简单如“如果列出的所有列都具有相同的值,它就是重复的行”?

我只是想找出一种有效的方法来执行此操作,因此我可以在一分钟内更新> 45,000行。


阅读 291

收藏
2020-05-17

共1个答案

小编典典

文档所述

REPLACE的工作方式与INSERT完全相同,不同之处在于,如果表中的旧行与PRIMARY
KEY或UNIQUE索引的新行具有相同的值,则在插入新行之前会删除该旧行。

2020-05-17