Привет, У меня возникла проблема с изменением разделов таблиц с помощью JDBI. Вот пример запроса я пытаюсь запустить:JDBI ALTER TABLE DROP PARTITION
ALTER TABLE table1 DROP PARTITION P_1
Это прекрасно работает в MySQL при удалении раздела «P_1» из таблицы «table1».
Я реализовал это в моем 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:[]}]
Не поддерживается ли эта функция? Или я что-то пропустил с помощью своего синтаксиса?
Thanks
Спасибо за редактирование спойлера! Не понял, что сделал символ «+», так как он был частью трассировки стека. – Andrew