gpt4 book ai didi

sql - JavaDB 匿名列名

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:40 26 4
gpt4 key购买 nike

我正在尝试创建一个像这样的通用 UPDATE 语句,其中只有表名是固定的。

updateValueQuery = conn.prepareStatement("UPDATE TABLENAME SET (?)=(?)");

失败并出现 SQLException 提示语法。只要我这样指定列名:

updateValueQuery = conn.prepareStatement("UPDATE TABLENAME SET COL_NAME=(?)");

SQL 顺利编译。有没有办法让列名也匿名?

我正在使用 Apache derby。

最佳答案

不,PreparedStatement 只有值的持有者。我通过以下方式解决了类似的问题:

    private final String FIND_STRING = "select * from TABLENANE where {0} = ?";
.
.
.
private final Map<String, PreparedStatement> statements = new HashMap<String, PreparedStatement>();

private PreparedStatement prepareStatement(String field, String toFind) throws SQLException{
PreparedStatement statement = null;
if (statements.contains(field)){
statement = statements.get(field);
}else{
String findInHelpDefinition = MessageFormat.format(FIND_STRING, field));
statement = connection.prepareStatement(findInHelpDefinition);
statemnts.put(field, statement);
}
statement.setString(1, toFind);
return statement;
}

关于sql - JavaDB 匿名列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17678097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com