如何根据条件pgsql更新特定的列名
how to update specific column name based on condition pgsql
我想根据 id 更新特定列的值。
这就是我正在尝试的
update my_table
set my_date=now(),
case _id
when _id = id_1 then id_1_number = id_1_number + 1
when _id = id_2 then id_2_number= id_2_number + 1
where user_id = _user_id;
但这正在显示
ERROR: syntax error at or near "case"
LINE 36: case _id
^
SQL state: 42601
Character: 950
有什么方法可以根据条件更新特定列的值吗?
CASE表达式不能包含赋值,需要使用表达式的结果来赋值。每列都需要一个
update my_table
set my_date = now(),
id_1_number = case when _id = id_1 then id_1_number + 1 else id_1_number end,
id_2_number = case when _id = id_2 then id_2_number + 1 else id_2_number end
where user_id = _user_id;
我想根据 id 更新特定列的值。
这就是我正在尝试的
update my_table
set my_date=now(),
case _id
when _id = id_1 then id_1_number = id_1_number + 1
when _id = id_2 then id_2_number= id_2_number + 1
where user_id = _user_id;
但这正在显示
ERROR: syntax error at or near "case"
LINE 36: case _id
^
SQL state: 42601
Character: 950
有什么方法可以根据条件更新特定列的值吗?
CASE表达式不能包含赋值,需要使用表达式的结果来赋值。每列都需要一个
update my_table
set my_date = now(),
id_1_number = case when _id = id_1 then id_1_number + 1 else id_1_number end,
id_2_number = case when _id = id_2 then id_2_number + 1 else id_2_number end
where user_id = _user_id;