0

具体来说,我运行这些语句:

    String script = String.format(
      "CREATE CACHED TABLE IF NOT EXISTS %s (id VARCHAR(36), value %s, PRIMARY KEY (id));", indexName, getIndexType());
    st.execute(script);
    script = String.format("CREATE INDEX idx_%s ON %s (value);", indexName, indexName);
    st.execute(script);

我想知道是否可以用一个执行命令来做到这一点?我尝试的只是连接两个字符串并执行。但是 hsqldb 抱怨正在创建索引的表不存在。

4

1 回答 1

1

HSQLDB的文档不提供在表创建期间指定表索引的任何方式,因此您必须对数据库进行 2 次单独调用。

顺便说一句,我建议PreparedStatement再次使用来保护 SQL 注入攻击。使用占位符消除了使用String.format.

于 2013-03-24T05:10:36.520 回答