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”paris并将它们放入新的IP表中
有人可以帮忙吗?
答案 0 :(得分:1)
当你说"put them into a new table"
时,你的意思是你真的想要插入吗? (目标表当前是空的?)
INSERT INTO
IP
SELECT DISTINCT
src_ip, vlanid
FROM
video2
如果你的意思是IP表中已有记录,你如何决定哪个记录应该获得哪个ip / vlanid组合?您需要首先将其视为连接,您可以将需要更新的每个记录与要更新的组合相匹配。如果你可以把它写成直接的SELECT(一边是IP记录,另一边是Veido2记录),我们可以告诉你如何把它变成一个更新。
答案 1 :(得分:0)
你可以在Oracle中做到这一点,不确定它是否在MySQL中被允许,因此你的语法错误。意味着您需要使用像
这样的东西UPDATE tbl SET field1 = value1, field2 = value2 WHERE (condition)