更新MySQL中的列

Mul*_*ner 66 mysql insert-update

我有一个table1包含三列和一堆行的表:

[key_col|col_a|col_b]
Run Code Online (Sandbox Code Playgroud)

我想用一组值更新col_a(即保持col_b不变),如下所示:

INSERT INTO table1 AS t1 (key_col, col_a) VALUES ("k1", "foo"), ("k2", "bar");
Run Code Online (Sandbox Code Playgroud)


但它不起作用,我该怎么做?

Nav*_*eed 105

您必须使用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';
Run Code Online (Sandbox Code Playgroud)

  • "更新具有不同值的多行和单个SQL查询"链接已断开.请修复或删除. (7认同)

Chr*_*den 9

UPDATE table1 SET col_a = 'newvalue'
Run Code Online (Sandbox Code Playgroud)

WHERE如果您只想更新某些行,请添加条件.

  • 这将更新所有行.使用where将其限制为更少的行. (3认同)

Abh*_*iro 6

这就是我为批量更新所做的:

UPDATE tableName SET isDeleted = 1 where columnName in ('430903GW4j683537882','430903GW4j667075431','430903GW4j658444015')
Run Code Online (Sandbox Code Playgroud)