2008-12-09 9 views
1

Можно ли изменить смещение автоинкремента на ранее существовавшей таблице с помощью JavaDB?JavaDB: Возможно ли изменить смену автоматического прироста на существующую таблицу?

У меня возникла проблема, когда вставка новых записей обычно (но не всегда) терпит неудачу с ошибкой, связанной с использованием существующего ключа (мой автоинкрементный столбец). Чтобы заполнить эту базу данных, я взял дамп из другой базы данных (MySQL) и использовал хранимую процедуру JavaDB, чтобы вставить их все в соответствующую таблицу JavaDB. Моя теория заключается в том, что вставка этих записей копировала существующие идентификаторы из таблицы MySQL. Теперь функциональность автоматического инкремента выдает существующие идентификаторы. Я полагаю, что явное указание смещения на какое-то большее число позволит снова активировать автоинкремент.

ответ

0

Я не знаю, как непосредственно изменить смещение, но мне удалось исправить это:

  1. Изменение количества приращения Х (1 миллион в моем случае).
  2. Вставка фиктивной записи.
  3. Уменьшение суммы приращения до 1.
  4. Удаление фиктивной записи.

Я использовал SQL заявление, чтобы изменить величину приращения:

ALTER TABLE tbl ALTER COLUMN col SET INCREMENT BY x 
1

Даже если это не является прямым ответом на вопрос: С MySQL, вы можете сделать

ALTER TABLE my_little_table AUTO_INCREMENT =2000 

для установки значения автоматического прироста.

 Смежные вопросы

  • Нет связанных вопросов^_^