mysql - 使用 3 个不同的表外键和主键更新设置表

标签 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 ,我应该做什么来解决它。

最佳答案

您想要 multi table update

大致如下:

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

sqlfiddle

关于mysql - 使用 3 个不同的表外键和主键更新设置表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23288861/

相关文章:

python - MySQL 的数据库版本控制

mysql - 定义双向链接

mysql - 使用 mysql 主持最高和最低价格

php - 在表格中的每一行添加一个 php 按钮

sql - 有没有一种方法可以使用纯 SQL 进行计数和循环?

sql - 长期 Oracle 开发人员/DBA 学习 SQL Server - 书籍推荐吗?

sql 查看最大值,每小时计算

sql - 选择查询以在 SQL Server 2008 中将日期格式显示为 DAY MMM DD YYYY

oracle - 在 Oracle SQL Developer 3.2 中使用变量

java - 将 Glassfish 上的 Web 应用程序连接到 Oracle 数据库