SQL-запрос, который выполняется без каких-либо ошибок на клиенте MySQL, не выполняется с синтаксической ошибкой при выполнении через код - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно добавить раздел в уже разбитую таблицу.Мой код добавляет раздел p190409, который будет содержать некоторые данные.Запрос выглядит следующим образом:

alter table db.table drop partition future;
alter table db.table add partition (partition p190409 values less than (to_days('2019-04-09 11:50:06')));
alter table db.table add partition (partition future values less than (MAXVALUE));

То же самое, хотя прекрасно работает на клиенте mysql, выдает следующую ошибку через код:

В синтаксисе SQL есть ошибка;обратитесь к руководству, соответствующему вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'изменить таблицу db.table добавить раздел (значения раздела p190409 меньше' в строке 1

1 Ответ

1 голос
/ 09 апреля 2019

Похоже, что метод, который вы используете для выполнения запроса, допускает только один запрос за раз, поэтому вместо выполнения всех запросов одновременно делайте это один за другим:

executeUpdate("alter table db.table drop partition future");
executeUpdate("alter table db.table add partition (partition p190409 values less than (to_days('2019-04-09 11:50:06')))");
executeUpdate("table db.table add partition (partition future values less than (MAXVALUE))");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...