Ответ 1
Вы должны использовать 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';
У меня есть таблица 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");
Но это не работает, как мне это сделать?
Вы должны использовать 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';
UPDATE table1 SET col_a = 'newvalue'
Добавьте условие WHERE
, если вы хотите только обновить некоторые строки.
Это то, что я сделал для массового обновления:
UPDATE tableName SET isDeleted = 1 where columnName in ('430903GW4j683537882','430903GW4j667075431','430903GW4j658444015')
Если вы хотите обновить данные, вы должны использовать команду UPDATE
вместо INSERT
если вы хотите заполнить весь столбец:
update 'column' set 'info' where keyID!=0;