Java JDBC。替换列的所有行中的值

Java JDBC。替换列的所有行中的值,java,jdbc,Java,Jdbc,爪哇11。PostgreSQL 在db中有下表: TABLE public.account ( id bigserial NOT NULL, account_id varchar(100) NOT NULL, display_name varchar(100) NOT NULL, is_deleted bool NULL DEFAULT false, ); 这个表中大约有1000行。在代码中我有一个静态方法,它返回random string-Helper.get

爪哇11。PostgreSQL

在db中有下表:

TABLE public.account (
    id bigserial NOT NULL,
    account_id varchar(100) NOT NULL,
    display_name varchar(100) NOT NULL,
    is_deleted bool NULL DEFAULT false,
);
这个表中大约有1000行。在代码中我有一个静态方法,它返回random string-Helper.getRandomName()


如何使用JDBC在该表(public.account)中的所有行中用Helper.getRandomName()的值替换“display\u name”值?

这是一个SQL问题。您需要运行更新查询:

更新public.account set display\u name=?
并提供新名称作为参数。缺少
WHERE
子句意味着所有行都将受到影响

如果您想对每一行单独执行此操作,则会比较困难。您需要执行select语句来查找所有ID,然后可以使用JDBC准备一批更新,为每个ID添加where子句


JDBC只是围绕普通SQL执行的一个精简Java包装器。

是希望所有行获得相同的值,还是希望每行获得不同的值?如果是最后一个,您最好使用SQL函数生成随机名称。我希望每一行都获得不同的值。另一种选择是使用可更新的结果集并通过结果集进行更新,但这通常会转化为表下的单独行更新语句。我希望对每一行单独执行此操作,以便每一行都具有唯一的值。