2014-09-27 3 views
0

Что я хочу сделать, это сбросить идентификатор из моей таблицы базы данных.Как сбросить идентификатор из таблицы базы данных в java?

Пример, мой стол:

id   data 
1   Tony 
3   Johnny 
5   Julia 

Я хочу, чтобы сбросить идентификатор стать так:

id   data 
1   Tony 
2   Johnny 
3   Julia 

Как я могу сделать это с помощью запросов MySQL в Java? Помоги мне, пожалуйста.

+0

В MySQL, нет такого понятия, как восстановление первичных ключей, вы должны сделать это вручную. См. Также http://stackoverflow.com/questions/740358/mysql-reorder-reset-auto-increment-primary-key. – idleherb

+1

Вы не можете создать идентификаторы без пробелов. Не делай этого. Почему вы заинтересованы в недоступном списке значений первичного ключа? – Tiny

ответ

0

Общеизвестно, что поле id должно «заполнить пробелы». Поле id предназначено только для того, чтобы связать идентификатор с идентификатором. MySQL инкрементный id алгоритм очень прост. Он сохраняет последнее использованное значение id, а затем добавляет 1 к нему, когда вы вставляете новую строку.

Я предлагаю вам использовать java.util.UUID класс Java для создания новых id «S, потому что инкрементный идентификатор уязвим для взлома.

Использование:

String id = UUID.randomUUID(); 
Смежные вопросы