Sql 如何创建查询以仅在发生更改时更新记录,并添加不存在的新记录

Sql 如何创建查询以仅在发生更改时更新记录,并添加不存在的新记录,sql,Sql,我正在运行一个查询,从另一个数据库的链接表中获取数据记录。 链接表由远程使用表单(如web)的用户填充 我创建了这段代码,将链接表中的数据查询到一个新表中,如下所示: `INSERT INTO NEW_TBL(ENT_CUS_NUM, ENT_FIRST_NAME, ENT_LAST_NAME, ENT_ADDRESS1, ENT_CITY, ENT_STATE, ENT_ZIP, ENT_PHONE) SELECT LINK_TBL.CUS_NUM, LINK_TBL.FIRST_NAME

我正在运行一个查询,从另一个数据库的链接表中获取数据记录。 链接表由远程使用表单(如web)的用户填充

我创建了这段代码,将链接表中的数据查询到一个新表中,如下所示:

`INSERT INTO NEW_TBL(ENT_CUS_NUM, ENT_FIRST_NAME, ENT_LAST_NAME, ENT_ADDRESS1, ENT_CITY, ENT_STATE, ENT_ZIP, ENT_PHONE) 

SELECT LINK_TBL.CUS_NUM, LINK_TBL.FIRST_NAME, LINK_TBL.LAST_NAME, LINK_TBL.ADDRESS1, LINK_TBL.CITY, LINK_TBL.STATE, LINK_TBL.ZIP, LINK_TBL.PHONE 

FROM LINK_TBL`
是否可以修改此查询,以便在尚未添加记录时从链接表插入新记录,或更新现有记录 已经修改了吗?示例:假设一个人更改了地址,我是否可以只更新或带来他们的地址,而不因为地址更改而重新插入他们的整个记录

这就是让人困惑的地方,我可以写一个update语句,但修改这个查询以便它带来新的记录或使用更改更新记录是我无法理解的

我将感谢你的投入和帮助


Guy

如果您可以将字段指定为唯一键,您可以使用REPLACE-INTO而不是INSERT-INTO(至少在mysql中是这样的)

我正在考虑使用1个语句来执行更新和插入。Merge或Upsert是您要搜索的关键字。语法和可用性取决于数据库。