Обновите столбец в MySQL - PullRequest
65 голосов
/ 28 июня 2011

У меня есть таблица table1 с тремя столбцами и связкой строк:

[key_col|col_a|col_b]

Я хочу обновить col_a набором значений (т. Е. Оставить col_b без изменений), примерно так:

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


Но это не работает, как мне это сделать?

Ответы [ 5 ]

101 голосов
/ 28 июня 2011

Вы должны использовать UPDATE вместо INSERT:

Например:

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';
9 голосов
/ 28 июня 2011
UPDATE table1 SET col_a = 'newvalue'

Добавьте условие WHERE, если вы хотите обновить только некоторые строки.

3 голосов
/ 23 января 2018

Это то, что я сделал для массового обновления:

UPDATE tableName SET isDeleted = 1 where columnName in ('430903GW4j683537882','430903GW4j667075431','430903GW4j658444015')
0 голосов
/ 02 июня 2017

, если вы хотите заполнить все столбцы:

update 'column' set 'info' where keyID!=0;
0 голосов
/ 28 июня 2011

Если вы хотите обновить данные, вы должны использовать команду UPDATE вместо INSERT

...