嘿,我正在改變使用JDBI表分區的問題。下面是我試圖運行的查詢的一個示例:JDBI ALTER TABLE DROP PARTITION
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")
然而,這會導致以下錯誤:
Causing: org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''P_1'' at line 1 [statement:"ALTER TABLE table1 DROP PARTITION :partition;", located:"ALTER TABLE table1 DROP PARTITION :partition;", rewritten:"/* HiveDropBoxDBI.deletePartition */ ALTER TABLE table1 DROP PARTITION ?;", arguments:{ positional:{}, named:{partition:'P_1'}, finder:[]}]
不支持此功能嗎?或者我用我的語法錯過了什麼?
謝謝
感謝您編輯擾流板!沒有意識到這是「+」符號的作用,因爲它是堆棧跟蹤的一部分。 – Andrew