如何使用同一个表的数据更新MySQL表的多个列

时间:2015-10-15 09:00:19

标签: mysql

+--------+------+-------+-------+
| C1     |  C2  |  C3       C4  |
+--------+------+-------+------+
| Value1 | 1234 |  9876 |   A1  |
| Value2 | 1234 |  9876 |   A1  |
| Value3 | 1234 |  9876 |   A1  |
| Value4 | 1234 |  9876 |   A1  |
| Value1 |      |       |   B1  |
| Value2 |      |       |   B1  |
| Value3 |      |       |   B1  |
| Value4 |      |       |   B1  |
+-------+------+-------+------- +

我有一个具有上述结构的MySQL表。我想更新C2和C2列的最后四行C3具有与C2和C2列的前4行相同的数据。 C3。此更新必须使用相同的表格多列数据完成。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用:

Update table set c2=(Select C2 from table where c4=A1) where c1=value1
通过更改内部查询中的列值或使用游标来

等等。

基于此:

Bulk Record Update with SQL

你可以这样做:

update      Table
set         C2= c2
from        Table t1
inner join  Table t2
on          t1.c1 = t2.c1