SQL SELECT 后跟 UPDATE
Posted
技术标签:
【中文标题】SQL SELECT 后跟 UPDATE【英文标题】:SQL SELECT followed by UPDATE 【发布时间】:2013-02-17 11:06:12 【问题描述】:我有 Employee 表和 HR 表。两个表中都有员工地址(地址列)。我想用 Employee 表中的地址更新 HR 表的地址列,对于所有这些记录,只要 HR 表的地址和同一雇员的 Employee 表的地址不匹配。employee-id 是员工表和外部的主键HR 表中的键。
【问题讨论】:
【参考方案1】:您仍然可以对 UPDATE
语句执行 JOIN
。
UPDATE HR a
INNER JOIN Employee b
ON a.EmpID = b.ID -- relationship column
SET a.address = b.address
WHERE a.address <> b.address -- to make this query faster
-- filter only those address that didn't match
【讨论】:
谢谢JW。小改变......如果我需要像地址一样说的东西,我还想更新两个表中也存在的“电话号码”列,在发现类似于地址的不匹配时。我们必须将查询中所有对应列的 SET & Where 子句分开,因为地址不匹配不能更新电话号码。以上是关于SQL SELECT 后跟 UPDATE的主要内容,如果未能解决你的问题,请参考以下文章
后跟 SELECT LAST_INSERT_ID 时 INSERT 不起作用
带有 Express 的 Knex.js,如何在 knex.commit 后跟 knex.select 查询?