web-dev-qa-db-fra.com

Mettre à jour une colonne dans MySQL

J'ai une table table1 avec trois colonnes et un tas de lignes:

[key_col|col_a|col_b]

Je souhaite mettre à jour col_a avec un ensemble de valeurs (c'est-à-dire en laissant col_b inchangé), quelque chose comme ceci:

INSERT INTO table1 AS t1 (key_col, col_a) VALUES ("k1", "foo"), ("k2", "bar");


Mais ça ne marche pas, comment puis-je faire ça?

66
Muleskinner

Vous devez utiliser UPDATE au lieu de INSERT:

Par exemple:

UPDATE table1 SET col_a='k1', col_b='foo' WHERE key_col='1';
UPDATE table1 SET col_a='k2', col_b='bar' WHERE key_col='2';
103
Naveed
UPDATE table1 SET col_a = 'newvalue'

Ajoutez une condition WHERE si vous souhaitez uniquement mettre à jour certaines des lignes.

9
Chris Snowden

Voici ce que j'ai fait pour la mise à jour groupée:

UPDATE tableName SET isDeleted = 1 where columnName in ('430903GW4j683537882','430903GW4j667075431','430903GW4j658444015')
3
Abhay Shiro

si vous voulez remplir toute la colonne:

update 'column' set 'info' where keyID!=0;
0
kairos

Si vous souhaitez mettre à jour des données, vous devez utiliser la commande UPDATE à la place de INSERT.

0
piotrpo