目標是運行一個可以在表ID之間交換的MySQL查詢。在行之間交換MySQL數據
表
ID TableID Car
1 1 Ford Mustang
2 1 Ford Focus
3 1 Ford Ranger
4 2 Toyota 4runner
5 2 Toyota celica
6 3 Chevy Camaro
7 4 Cadillac Escalade
8 4 Cadillac CTS
9 6 Dodge Charger
10 6 Dodge Ram
11 6 Dodge Caravan
如果我運行這些查詢
UPDATE table SET tableid='2' where tableid='1'
UPDATE table SET tableid='1' where tableid='2'
UPDATE table SET tableid='5' where tableid='6'
這樣的想法是,我想換表格ID 1和2。但是,會發生什麼是第一後查詢所有TableID 1將與TableID 2合併。然後,第二個查詢將更新所有TableID 2(其中包括舊TableID 1和TableID 2)到TableID 1.
最後一個查詢將沒有起訴不存在衝突。但是,如何在這種情況下編寫查詢來交換兩個TableID,而不必將表格全部搞亂(加入)?