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