2013-03-06 9 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 | 
+-------+------------+-----------+-----------+ 

Je souhaite que les valeurs de la colonne dept_name soient remplacées par des valeurs (toutes différentes) sans enregistrer ni recréer la table. Y a-t-il un moyen de faire cela?Modifier plusieurs valeurs dans une seule colonne MySQL

sortie souhaitée:

+-------+------------+-----------+-----------+ 
| 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 pas votre question .. !! –

+0

Non, si vous voulez définir la même valeur pour tous, vous pouvez utiliser la requête de mise à jour, mais vous avez dit que vous voulez tous différents. donc je pense que ce n'est pas possible. –

+0

à la place de publier la sortie que vous voulez .. –

Répondre

1

Je recommande de rejoindre un sous-requête avec les partenaires sociaux. Regardez ma réponse ici pour un exemple: Reordering of column data in mysql

+0

Je ne sais pas ce que l'ID sera ou je suppose que la table est très grande (50 000 tuples). –

+0

Vous ne savez pas quels seront les identifiants? Qu'est-ce que vous essayez réellement de faire alors? Essayez-vous de faire ceci: http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/? – sinni800

+0

Je ne connais pas PHP donc c'est difficile pour moi de comprendre. Je le fais en Java, je veux juste prendre l'ancienne table et la faire ressembler à la nouvelle table. Je me suis rendu compte que je pouvais stocker tout cela dans un ResultSet, puis le changer et le remettre dans la table, je me demandais s'il y avait une façon différente de le faire. Et avec l'hypothèse qu'il y a 50 000 lignes donc je ne peux pas passer par chaque ID et changer le dept_name manuellement. J'ai une chaîne dans l'ordre avec les valeurs que je veux, juste besoin de les insérer dans la colonne dept_name. –

Questions connexes