support update from syntax note: enable_concurrent_update is not supported now ``` UPDATE <target_table> SET <col_name> = <value> [ , <col_name> = <value> , ... ] [ FROM <additional_tables> ] [ WHERE <condition> ] ``` for example: t1 ``` +----+----+----+-----+------------+ | id | c1 | c2 | c3 | c4 | +----+----+----+-----+------------+ | 3 | 3 | 3 | 3.0 | 2000-01-03 | | 2 | 2 | 2 | 2.0 | 2000-01-02 | | 1 | 1 | 1 | 1.0 | 2000-01-01 | +----+----+----+-----+------------+ ``` t2 ``` +----+----+----+------+------------+ | id | c1 | c2 | c3 | c4 | +----+----+----+------+------------+ | 4 | 4 | 4 | 4.0 | 2000-01-04 | | 2 | 20 | 20 | 20.0 | 2000-01-20 | | 5 | 5 | 5 | 5.0 | 2000-01-05 | | 1 | 10 | 10 | 10.0 | 2000-01-10 | | 3 | 30 | 30 | 30.0 | 2000-01-30 | +----+----+----+------+------------+ ``` t3 ``` +----+ | id | +----+ | 1 | | 5 | | 4 | +----+ ``` do update ```sql update t1 set t1.c1 = t2.c1, t1.c3 = t2.c3 * 100 from t2 inner join t3 on t2.id = t3.id where t1.id = t2.id; ``` the result ``` +----+----+----+--------+------------+ | id | c1 | c2 | c3 | c4 | +----+----+----+--------+------------+ | 3 | 3 | 3 | 3.0 | 2000-01-03 | | 2 | 2 | 2 | 2.0 | 2000-01-02 | | 1 | 10 | 1 | 1000.0 | 2000-01-01 | +----+----+----+--------+------------+ ```
21 lines
449 B
Plaintext
21 lines
449 B
Plaintext
-- This file is automatically generated. You should know what you did if you want to edit this
|
|
-- !select_uniq_table --
|
|
1 2 1 1999-01-01
|
|
2 2 1 1999-01-01
|
|
|
|
-- !select_uniq_table --
|
|
1 2 1 1998-01-01
|
|
2 2 1 1998-01-01
|
|
|
|
-- !desc_uniq_table --
|
|
k INT Yes true \N
|
|
value1 INT Yes false \N REPLACE
|
|
value2 INT Yes false \N REPLACE
|
|
date_value DATE Yes false \N REPLACE
|
|
|
|
-- !complex_update --
|
|
1 10 1 1000.0 2000-01-01
|
|
2 2 2 2.0 2000-01-02
|
|
3 3 3 3.0 2000-01-03
|
|
|