mysql - Mysql批量更新数据库表数据

标签 mysql sql

您好,我有两个表。

tbl1

id             int(11)      NOT NULL

positionName   varchar(20)  NULL

positionId     int(11)      NULL

tbl2

positionId         int(11)      NOT NULL

positionName       varchar(20)  NULL

原来tbl1中没有列positionId。现在将为 tbl1 使用 positionId 而不是 positionName

问题是两个表中已经存储了数以千计的数据。

那么,我怎样才能成功快速地链接到 tbl1 的每个数据的正确 positionId ,其中 positionName 以前使用过?

批量更新是一种方式吗?

无论如何,我可以使用 SQL 浏览器执行所有操作吗?如果可能,我不想使用编码。

提前致谢。

最佳答案

您是否在寻找多表 UPDATE ,像这样?

UPDATE tbl1
JOIN tbl2 ON tbl1.positionName = tbl2.positionName
SET tbl1.positionId = tbl2.positionId
WHERE tbl1.positionId IS NULL

我假设 positionNametbl2 中是唯一的,但如果不是,您需要考虑您希望如何处理它。

关于mysql - Mysql批量更新数据库表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7736460/

相关文章:

java - 什么时候在 JDBC 上使用批处理操作更快?

mysql - 服务器已返回此错误消息 :Duplicate column name 'NULL' MySQL Error

php - 使用curl发送多个url短信

mysql - 如何获得一年内最多五个连续值?

mysql - 错误代码 1054 交叉连接上的未知列

c# - 将数据从 XML 导入到 SQL Server 表

sql - 需要查询以不同的方式显示数据

mysql - iOS 上的回合制多人游戏

python - 使用 Python 2.7 将变量传递到 MySQL

mysql - 如何通过多个元组(行)找到共享一个属性(列)的对?