Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 更新一列中的多行_Sql_Postgresql - Fatal编程技术网

Sql 更新一列中的多行

Sql 更新一列中的多行,sql,postgresql,Sql,Postgresql,我正在尝试更新一列中的多行,如下所示 update persons set salary = (select salary from persons where name = 'John Smith') + 20000; 在这里,如果姓名是约翰·史密斯,我想将所有人员的工资增加20000英镑。但我犯了一个错误 ERROR: more than one row returned by a subquery used as an expression ********** Error *****

我正在尝试更新一列中的多行,如下所示

update persons set salary = (select salary from persons where name = 'John Smith') + 20000;
在这里,如果
姓名
是约翰·史密斯,我想将所有
人员的
工资
增加20000英镑。但我犯了一个错误

ERROR:  more than one row returned by a subquery used as an expression
********** Error **********

ERROR: more than one row returned by a subquery used as an expression
SQL state: 21000
我正在使用Postgresql。

请尝试以下方法:

UPDATE persons 
   SET salary = salary + 20000
WHERE name = 'John Smith';