PostgreSQL:通过Java更新我的用户表
在PostgreSQL中user
是一个保留关键字,在内部表中使用,但是我在自己的数据库中也有一个单独的user
表需要使用。每当我试图在表上执行INSERT或UPDATE语句时,它都会生成以下错误:The column name 'id' was not found in this ResultSet
这是我目前使用的Java代码:
PreparedStatement stat1 = conn.prepareStatement("SELECT id FROM user;");
PreparedStatement stat2 = conn.prepareStatement("UPDATE user SET date_created = ? , last_updated = ? , uuid = ? WHERE id = ?;");
ResultSet rs = stat1.executeQuery();
while(rs.next()){
UUID uuid = UUID.randomUUID();
String tempId = uuid.toString();
stat2.setTimestamp(1, curDate);
stat2.setTimestamp(2, curDate);
stat2.setString(3, tempId);
stat2.setLong(4,rs.getLong("id"));
stat2.executeUpdate();
}
所以我的问题是,如何在不干扰关键字限制的情况下插入或更新personal user
表中的值
# 1 楼答案
使用这个:
或者,最好将
user
表重命名为其他名称,例如users
:# 2 楼答案
像这样转义表名