Java JDBC。替换列的所有行中的值
爪哇11。PostgreSQL 在db中有下表: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
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函数生成随机名称。我希望每一行都获得不同的值。另一种选择是使用可更新的结果集并通过结果集进行更新,但这通常会转化为表下的单独行更新语句。我希望对每一行单独执行此操作,以便每一行都具有唯一的值。