複数のネットワーク/VLan (A、B & C) に接続されているネットワーク機器と、ネットワークの 1 つに接続されている他の機器があります。ネットワークを削除または交換するとき、機器が接続されているものを反映するようにデータベースを更新する必要があるため、それを行うための mysql ステートメントを作成しようとしていますが、さまざまな障害に遭遇しています。
私のテーブルには 2 つのフィールドしかなく、重複するレコードはあり得ません。私のデータの例は
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'
でしたが、そのテーブルでは許可されていない重複が作成されます-重複は簡単ですが。別の方法を使用するWHERE EXISTS
と、さまざまなFROM (SELECT)
ステートメントを使用して失敗した mysql ステートメントに遭遇し続けます。単一のmysqlステートメントで行うことは可能ですか? 2つ必要ですか?
どんな助けでも大歓迎です。