具体来说,我运行这些陈述:
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抱怨创建索引的表不存在。
答案 0 :(得分:1)
HSQLDB的docs在表创建期间不提供任何指定表索引的方法,因此您必须对数据库进行2次单独调用。
另外,我建议使用PreparedStatement
再次保护SQL注入攻击。占位符的使用消除了使用String.format
的需要。