我有一些连接到多个网络/VLans(A、B 和 C)的联网设备,以及仅连接到其中一个网络的其他设备。当我删除或更换网络时,我需要更新我的数据库以反映设备所连接的内容,所以我试图编写一个 mysql 语句来做到这一点,但我遇到了各种障碍。
我的表只有两个字段,不能有重复记录。我的数据示例是
deviceID network
1 A
1 B
1 C
2 B
2 C
3 A
4 A
5 B
如何将网络 A 合并到网络 B 中,以便上表看起来像...
deviceID network
1 B
1 C
2 B
2 C
3 B
4 B
5 B
我最初的尝试是set network = 'B' where network = 'A'
,然后是一个DELETE network 'A'
语句,但这会创建重复项,该表不允许这样做 - 即使重复项很简短。使用替代方法,我只是通过 usingWHERE EXISTS
和各种语句不断遇到失败的 mysqlFROM (SELECT)
语句。是否可以在单个 mysql 语句中执行?我需要两个吗?
任何帮助表示赞赏。