UPDATE设置表有3个不同的表外键和主键

时间:2014-04-25 09:12:06

标签: mysql sql oracle

我有两张不同的桌子。

部门表

//Department
D#          DNAME
-------------------
1           SALES
2        ACCOUNTING
3          GAMES
5          SPORTS

员工表

//Employee
E#      D#
-----------
 1      3
 2      2
 3      5
 4      5

现在使用Update语句,将D#= 5更新为D#= 3;

目前正在使用此声明

UPDATE EMPLOYEE SET D# = 3 WHERE D# = 5;

但后来我试图了解如果我不想使用D#进行更新,但想使用DNAME进行更新,这意味着来自SPORT的E#将更改为GAMES,我该怎么做才能解决它。

1 个答案:

答案 0 :(得分:0)

你想要multi table update

有些事情:

update employee e
  join department d using (d#)
   set e.d# = 3
 where d.dname = 'SPORTS'; 

sqlfiddle