Java 更新后触发,错误:标量子查询只允许返回一行

Java 更新后触发,错误:标量子查询只允许返回一行,java,database,derby,scalar-subquery,Java,Database,Derby,Scalar Subquery,我需要解决我的问题。提前谢谢。我使用Derby DB 我有一个只有几列的表。我为我需要的特定列创建了更新后触发器。当我尝试更新第行中的列时,会出现此错误 错误代码30000,SQL状态21000:仅允许使用标量子查询 返回一行 此错误仅在主表中有两行或更多行时出现。如果表“accounts”中只有一行,那么一切都正常 这是触发器的代码:(accounts是主表,accounts\u history是新表) 标量子查询应该最多返回一行,而恰好返回一列 只需使用insert。选择: insert i

我需要解决我的问题。提前谢谢。我使用Derby DB

我有一个只有几列的表。我为我需要的特定列创建了更新后触发器。当我尝试更新第行中的列时,会出现此错误

错误代码30000,SQL状态21000:仅允许使用标量子查询 返回一行

此错误仅在主表中有两行或更多行时出现。如果表“accounts”中只有一行,那么一切都正常

这是触发器的代码:(accounts是主表,accounts\u history是新表)


标量子查询应该最多返回一行,而恰好返回一列

只需使用
insert。选择

insert into accounts_history(old_id, new_name, new_balance, new_date)
    select id, name, balance, date
    from accounts;

谢谢兄弟!工作正常:D
insert into accounts_history(old_id, new_name, new_balance, new_date)
    select id, name, balance, date
    from accounts;