嘿,我在使用 JDBI 更改表分区时遇到问题。这是我尝试运行的查询示例:
ALTER TABLE table1 DROP PARTITION P_1
当从表“table1”中删除分区“P_1”时,这在 MySQL 中运行良好。
我在我的java代码中实现了它,如下所示:
@SqlUpdate("ALTER TABLE table1 DROP PARTITION :partition;")
public void deletePartition(@Bind("partition") String partition);
并像这样调用这个函数
deletePartition("P_1")
但是,这会导致以下错误:
原因:org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''P_1'' 附近使用正确的语法 [语句:“ALTER TABLE table1 DROP PARTITION :partition;”,位于:“ALTER TABLE table1 DROP PARTITION :partition; ", rewritten:"/* HiveDropBoxDBI.deletePartition */ ALTER TABLE table1 DROP PARTITION ?;", arguments:{ positional:{}, named:{partition:'P_1'}, finder:[]}]
不支持此功能吗?还是我的语法遗漏了什么?
谢谢