2013-03-06 79 views
0
+-------+------------+-----------+-----------+ 
| ID | name  | dept_name | salary | 
+-------+------------+-----------+-----------+ 
| 10101 | Srinivasan |   0 | 71500.00 | 
| 12121 | Wu   |   0 | 90000.00 | 
| 15151 | Mozart  |   0 | 40000.00 | 
| 22222 | Einstein |   0 | 95000.00 | 
| 32343 | El Said |   0 | 60000.00 | 
| 33456 | Gold  |   0 | 87000.00 | 
| 45565 | Katz  |   0 | 82500.00 | 
| 58583 | Califieri |   0 | 62000.00 | 
| 76543 | Singh  |   0 | 80000.00 | 
| 76766 | Crick  |   0 | 72000.00 | 
| 83821 | Brandt  |   0 | 101200.00 | 
| 98345 | Kim  |   0 | 80000.00 | 
+-------+------------+-----------+-----------+ 

我想在不保存並重新創建表的情況下將dept_name列中的值更改爲值(全部不同)。有沒有辦法做到這一點?在單列中更改多個值MySQL

所需的輸出:

+-------+------------+-----------+-----------+ 
| ID | name  | dept_name | salary | 
+-------+------------+-----------+-----------+ 
| 10101 | Srinivasan |   1 | 71500.00 | 
| 12121 | Wu   |   2 | 90000.00 | 
| 15151 | Mozart  |   3 | 40000.00 | 
| 22222 | Einstein |   2 | 95000.00 | 
| 32343 | El Said |   2 | 60000.00 | 
| 33456 | Gold  |   3 | 87000.00 | 
| 45565 | Katz  |   1 | 82500.00 | 
| 58583 | Califieri |   3 | 62000.00 | 
| 76543 | Singh  |   1 | 80000.00 | 
| 76766 | Crick  |   1 | 72000.00 | 
| 83821 | Brandt  |   2 | 101200.00 | 
| 98345 | Kim  |   2 | 80000.00 | 
+-------+------------+-----------+-----------+ 
+0

m沒有得到你的問題..! – 2013-03-06 06:14:31

+0

沒有,如果你想爲所有設置相同的值,那麼你可以使用更新查詢,但你說你想要所有不同的。所以我認爲它不可能。 – 2013-03-06 06:16:23

+0

而不是發佈你想要的輸出。 – 2013-03-06 06:29:30

回答

1

我會建議加入上與工會的子查詢。看看我的答案在這裏舉一個例子:Reordering of column data in mysql

+0

我不知道這個ID會是什麼,或者我認爲這個表非常大(50,000個元組)。 – 2013-03-06 08:24:40

+0

你不知道這些ID是什麼?你到底想要做什麼?你是否試圖做到這一點:http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/? – sinni800 2013-03-06 08:54:04

+0

我不知道PHP,所以我很難理解。我在java中這樣做,我只想拿起舊桌子,使它看起來像新桌子。我意識到我可以將所有這些存儲在ResultSet中,然後將其更改並放回表中,我想知道是否有不同的方式來執行此操作。假設有5萬行,所以我無法通過每個ID並手動更改dept_name。我有一個字符串與我想要的值,只需要將它們插入到dept_name列。 – 2013-03-06 09:23:34