如何使用mysql join更新记录?

2024-01-14

在我的 mysql 中,我有 t1、t2 表,我想根据 t1 的字段值与 t2 的字段值匹配,从 t2 的字段值更新 t1 的字段

我尝试了以下但它没有更新。我在这里做错了什么

UPDATE t1 
INNER JOIN t2 
ON t1.name = t2.name 
SET t1.age = t2.age 
WHERE t1.name IS NOT NULL;

您需要将要更新的表与查询的表分开,即使它们是相同的:

UPDATE t1  
SET t1.age = t2.age
FROM t1 as tempT1
INNER JOIN t2 
ON tempT1.name = t2.name 
WHERE tempT1.name IS NOT NULL;

UPDATE
显然 MySQL 使用的是不同的UPDATE JOIN语法比其他数据库的语法好。您的初始查询似乎使用了正确的语法,只是为了确保尝试为表名添加别名:

UPDATE t1 temp1
INNER JOIN t2 temp2
ON temp1.name = temp2.name 
SET temp1.age = temp2.age 
WHERE temp1.name IS NOT NULL;

UPDATE 2
经过一段时间的观察后,我确信WHERE条款是问题:
WHERE temp1.name IS NOT NULL
无论如何,您都无法加入空值,因此默认情况下它们会被过滤掉。这WHERE子句在某种程度上干扰了连接。
尝试将其删除,看看是否UPDATE作品。如果您不想立即执行和更新,只需使用相同的内容执行选择即可JOIN CLAUSE查看哪些记录会受到影响。

这是一般参考NULL and JOIN:
http://databases.about.com/library/weekly/aa051203a.htm http://databases.about.com/library/weekly/aa051203a.htm

以下是符合上述要求的 SQL Server 参考:http://msdn.microsoft.com/en-us/library/ms190409.aspx http://msdn.microsoft.com/en-us/library/ms190409.aspx

找不到明确说明这一点的 MySQL 参考,但我认为这对于所有关系数据库都是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用mysql join更新记录? 的相关文章

  • MySQL Amazon RDS:超出锁定等待超时

    在 Mysql Amazon RDS 上 当我尝试运行以下 SQL 查询时 UPDATE table1 INNER JOIN table2 USING CommonColumn SET table1 col1 table2 x table1
  • 如何从 Qt 应用程序通过 ODBC 连接到 MySQL 数据库?

    我有一个新安装的 MySQL 服务器 它监听 localhost 3306 从 Qt 应用程序连接到它的正确方法是什么 原来我需要将MySQL添加到ODBC数据源 我在遵循这个视频教程后做到了这一点 https youtu be K3GZi
  • 使用 impala 按范围连接表的有效方法

    我第一个有下表 Range 包括值范围和附加列 row From To Country 1 1200 1500 2 2200 2700 3 1700 1900 4 2100 2150 The From and Toare bigint并且是
  • 在 MySQL 连接字符串中指定密码

    我使用 MySQL 作为 DB 和 Yeoman 生成器创建了 ExpressJS MVC 应用程序 并在config js我想更改 MySQL 连接字符串 但我不知道在字符串中指定密码 我的字符串是mysql root localhost
  • 使用 unnest() 返回行?

    我尝试在完成后返回一组行UPDATE 像这样的东西 UPDATE Notis new noti SET notis noti record type FROM SELECT FROM Notis WHERE user id 2 FOR UP
  • 通过 R 连接到 Azure SQL

    下面的代码允许我通过 R 连接到 Azure SQL 服务器 但是 我只能访问 主 数据库 而不能访问我在下面创建的两个数据库 表格显示为空白 有什么想法吗 谢谢 library RODBC library dplyr library DB
  • 如何在oracle中预测和转义单引号'

    假设我有一个列值aaa gh它会在 oracle 中抛出错误 提示 sql 命令未正确结束 我的问题是如果我不知道有多少 在我的价值范围内 我如何才能安全地逃脱它们 最好的方法是使用引用字符串文字技术 http lalitkumarb wo
  • WooCommerce 中的分页

    我使用这个短代码在页面上显示产品的类别 但是当我们使用它时 它不会显示分页 因为我们的类别中有很多产品 我们使用以下代码 product category category snowpeak per page 12 columns 4 or
  • SQL Server 如何查看日期是否为当前月份?

    我有一个Ticket Date格式为的列YYYY MM DD HH MI SS 我想检查是否Ticket date是在当前月份 到目前为止我有 Ticket date gt 2015 04 01 and Ticket date lt 201
  • MySQL JDBC 连接上的故障转移?

    我正在尝试确定如何使用 MySQL JDBC 驱动程序实现高可用性解决方案 似乎有一个我可以设置的故障转移属性 但我想知道当使用 MySQL 和 JDBC 实现简单的故障转移机制时 人们倾向于使用什么 我们计划将 2 个前端 Tomcat
  • 如何在嵌套集中查找特定 level2 节点的特定子节点

    我有一个标准的嵌套集模型 每个节点都有 name lft 和 rgt 属性 我可以使用以下方法找到特定员工的上级 SELECT P2 FROM Personnel AS P1 Personnel AS P2 WHERE P1 lft BET
  • 将mysql数据导入kubernetes pod

    有谁知道如何将我的 dump sql 文件中的数据导入到 kubernetes pod 中 直接 与处理 docker 容器的方式相同 docker exec i container name mysql uroot password se
  • 两个表中两个字段的总和

    我的数据库中有四个表 如下所示 表格发票 invcid customerid invoicedate tblInvc详细信息 ID invcid item itemprice itemquantity tblPay payid invcid
  • 使用 java 中的准备好的语句插入自定义 SQL 类型

    我有一些自定义类型 它们基本上都是枚举 以下是它们的外观示例 CREATE TYPE card suit AS ENUM spades clubs hearts diamonds 我在 Java 中有一些准备好的语句 看起来像这样 Setu
  • 如何在 Node 中使用 Mysql2 使用 async 和 pool 获取 MySQL 的 insertId?

    我正在尝试将 async wait 与 mysql2 和池一起使用 但我认为我做错了 下面是我的代码 正如我所说 我不确定我是否在这里做事 const pool mysql createPool host localhost user ro
  • 如何复制身份列中的数据?

    我有一张桌子identity列在一台服务器中 并且在另一台服务器中有一个具有相同结构的其他表 现在我想将所有数据从一个表复制到另一个表 但我无能为力 我已经创建了一个链接服务器 我用这个 insert into server databas
  • 如何编写具有这种不寻常匹配标准的联接?

    我想要 左连接 一个表 以便值不仅连接到匹配行 而且还连接到任何后续的非匹配行 直到下一个匹配行 换句话说 我想用之前的非空值来填充空值 样本数据和期望结果 Table x id 1 2 3 4 5 Table y id val 1 a 4
  • 美国邮政编码的最佳列类型是什么?

    我想存储Zip Code 美国境内 MySQL 数据库中 Saving空间是一个优先考虑的因素 使用 VARCHAR 最大长度限制为 6 位或使用 INT 或使用 MEDIUM Int 是更好的选择 邮政编码不会用于任何计算 邮政编码将用于
  • SQL - 每个级别都有记录的递归树层次结构

    尝试使用 SAS 据我所知 不支持WITH RECURSIVE 在 SQL 中创建经典的层次结构树 这是现有表中的简化数据结构 USER ID SUPERVISOR ID 因此 要构建层次结构 您只需递归连接 x 次即可获取您要查找的数据
  • 在 SQL 中用加号 (+) 显示正结果

    我有以下查询 SELECT CONVERT DECIMAL 11 1 SUM Column 1000 1 AS NAME FROM Table 我有 1000 1 的原因是我希望结果以千为单位显示并反转 负值作为正值 反之亦然 只有一位小数

随机推荐

  • 将 Arduino RGB LED 从一种颜色渐变为另一种颜色?

    目前 我已成功让 LED 灯循环显示我选择的八种颜色 一切都工作正常 除了我想要一种更自然的感觉 并且想要从一种颜色褪色 过渡到下一种颜色 而不是让它们互相替换 到目前为止 这是我的代码 int redPin 11 int greenPin
  • 子元素自动宽度(大于父元素)

    我有一个ul等距导航菜单inline block每个元素都有一个子菜单 问题是我无法让子菜单的宽度适应子元素的长度 它继承了父级的宽度 我可以设置固定宽度 但由于每个子菜单都有不同长度的不同链接 因此我理想地希望每个子菜单都具有自动宽度并与
  • Liquibase 不会使用 MySQL 回滚失败的变更集

    我使用 Liquibase 3 4 1 和 MySQL56 并通过 Spring Boot 运行 Liquibase 我有一个变更集 其中包括向现有表添加一列 新的column has valueComputed属性与一个简单的选择 当我在
  • 请求 EMV 卡的 GPO 命令时出现解析器错误

    我在使用 VISA 卡的 GET PROCESSING OPTIONS GPO 命令时遇到一些问题 以下是我对 VISA 应用程序的 SELECT 命令的响应 6F408407A0000000031010A535500A5649534120
  • ngrx/store 不显示表单的更新值

    我需要通过表单输入 2 个输入值 以兆字节为单位显示存储空间的使用情况 已使用空间和剩余空间 并显示来自 ngrx Store 的输入值 每次提交表单时 都会显示新值并更新旧值 问题是 UI 始终显示 used space 和剩余空间 的默
  • 带引导程序的滑出面板

    我使用 twitter bootstrap 并尝试做类似的事情here http codepen io Tyriar pen nJGfj 滑出面板 我见过nav collapse效果非常相似 只是它从上方下降并且仅出现在特定屏幕尺寸下方 希
  • React Native - 如何仅输入数字键盘(不带标点符号)

    有没有一种方法可以在没有标点符号的情况下键入数字键盘
  • 如何在 Svelte 中使用 Web 组件?

    我想使用一些网络组件https github com microsoft vscode webview ui toolkit https github com microsoft vscode webview ui toolkit 但我不知
  • jquery代理传递参数

    绑定事件处理程序时如何通过代理传递字符串 我想将附加到目标处理程序的数据属性传递给对象的方法 这可能吗 function ReservationSchedulePicker reservationType Reservation Type
  • 如何查找 Coq 证明策略的定义或实现?

    我正在看this https github com coq coq blob cdfe69d6da6b32338ba74c9f599c74389089c9dd theories Numbers Natural Abstract NAdd v
  • WIX:我的 CustomAction 应在何处以及如何创建和读取临时文件?

    我有一个脚本 CustomAction 是的 我知道所有关于不要使用脚本 CustomActions 我有不同意见 我想运行命令并捕获输出 我可以使用 WScript Shell COM 对象执行此操作 然后调用shell Exec 但是
  • 如何动态改变这个随机数生成器的曲线?

    该函数生成一个随机数 但概率曲线倾向于较低范围 function getRandomLowNumber min 1 max 100 factor 1 let num getRandomDecimal min max let rollDiff
  • 将我的 PDO 连接保存为全局变量 [重复]

    这个问题在这里已经有答案了 在询问有关 PDO 查询的另一个问题时 我被告知将 PDO 连接对象保存为全局对象以在调用数据库查询的各种函数中使用它通常是不好的做法 以下是我通常如何使用 PDO 对象 function somefunctio
  • std::forward 无法转换大括号括起来的初始值设定项列表

    为什么 struct screen 无法正确初始化框架结构 我想要的是初始化屏幕结构并直接初始化 2 个框架结构 include
  • SIFT 算法中奇怪的 Octave 值?

    我在 opencv 代码中使用 sift 算法从图像中获取描述符和关键点 我的代码是 Ptr
  • 获取过滤数组项的索引

    在 JavaScript 中 我有以下数组 var arr 5 10 2 7 从该数组中 我想获取一个仅包含小于 10 的项目索引的数组 因此 在上面的示例中 索引数组将是 var indexes 0 2 3 现在 我想要类似的东西filt
  • 快速数字格式化

    我刚刚开始了解 Swift 但我在极其基础的数字格式化方面遇到了严重的问题 例如 我需要显示至少 2 位数字的整数 例如 00 01 02 03 04 05 我期望的正常语法是这样的 println 02i 02i 02i var1 var
  • 非 LL(1) 的 LL(2) 语言

    为了进一步了解解析器和语法 我正在寻找一个 希望简单的 示例language即 LL 2 但不是 LL 1 也就是说 可以由 LL 2 语法生成但不能由任何 LL 1 语法生成的语言 该课程中有有用的语言吗 也就是说 我们可以想象一种 LL
  • WOW.js 无法与 Wordpress 正常工作

    所以我试图让 wow js 和 Animate css 在我的 WordPress 模板上工作 我已经将它们全部链接得很好 它不会引发任何错误 并且动画确实有效 但由于某种原因 动画是在页面加载时触发的 而不是在页面滚动时触发的 效果是所有
  • 如何使用mysql join更新记录?

    在我的 mysql 中 我有 t1 t2 表 我想根据 t1 的字段值与 t2 的字段值匹配 从 t2 的字段值更新 t1 的字段 我尝试了以下但它没有更新 我在这里做错了什么 UPDATE t1 INNER JOIN t2 ON t1 n