我运行一个简单的更新查询,是这样的:Postgres的 - 适应症没有行更新
UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'
中有一个Postgres的方式来提高错误或打印一些消息时,有没有更新的行?
我运行一个简单的更新查询,是这样的:Postgres的 - 适应症没有行更新
UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'
中有一个Postgres的方式来提高错误或打印一些消息时,有没有更新的行?
在数据库中,只有在从存储过程进行更新时才有可能。在plpgsql中:
BEGIN
UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'
IF NOT FOUND THEN
raise exception 'Nothing updated';
END IF;
END
但是,该值不会被记录,但该命令被取消。如果您只是想将其记录下来,请改为使用raise warning
,并将postgresql日志记录设置为包含警告。
如果您使用API访问PostgreSQL,通常会有一个函数返回更新值的数量。在Java中,例如有Statement类,与功能的executeUpdate():
public int executeUpdate(String sql) throws SQLException
执行给定的SQL语句, 这可能是一个INSERT,UPDATE或 DELETE语句,或者不返回任何内容的SQL语句 ,如SQL DDL语句。
参数: SQL - 一个SQL INSERT,UPDATE或DELETE语句,或者不返回任何
返回一个SQL 声明:要么为INSERT,UPDATE或DELETE 语句,或0 SQL语句 表示不返回任何
抛出:的SQLException - 如果发生数据库访问错误或者给定的SQL语句产生 ResultSet对象