mysql - 更新更新查询 mysql 中的两列

标签 mysql sql

UPDATE IP SET (src_ip, vlan_id) = (SELECT DISTINCT src_ip, vlan_id FROM video_2)

该命令有语法错误。我需要成对使用src_ip和vlan_id,因为在表video_2中,相同的src_ip可能具有相同或不同的vlan_id,所以我需要从video_2中选择唯一的“src_ip,vlan_id”巴黎并将它们放入新的IP表中

有人可以帮忙吗?

最佳答案

当您说“将它们放入新表中”时,您的意思是您实际上想要执行插入操作吗? (目标表当前为空?)

INSERT INTO
  IP
SELECT DISTINCT
  src_ip, vlanid
FROM
  video2


如果你的意思是IP表中已经有记录,你如何决定哪条记录应该获得哪个ip/vlanid组合?您需要首先将其视为联接,您可以将需要更新的每条记录与您希望其更新的组合相匹配。如果您可以将其写为直接 SELECT(一侧是 IP 记录,另一侧是 Veido2 记录),我们可以向您展示如何将其转换为 UPDATE。

关于mysql - 更新更新查询 mysql 中的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8878047/

相关文章:

java - 不识别 Java MySQL DB 调用中的日期类型

mysql - 在一个查询中使用 2 种不同的排序

java - NoClassDefFound错误: org/aspectj/lang/Sign

python - Python 如何在没有 %s 的情况下进行字符串替换?

java - 存储过程不产生结果

mysql - sql按值计数按不同值堆栈pt.2

php - JSON 输出重音问题

c# - 将sql脚本转换成可以在sqlite上运行的格式

SQL:Bit 或 char (1) 哪个更好

php - MySQL检查表是否存在而不抛出异常