2013-12-13 3 views
1

Я разрабатываю таблицу SQL, которая должна хранить данные клиента.Импортированные идентификаторы пользователей и первичный ключ?

Данные клиента экспортируются из другой системы и уже содержат client_ID, которые мне необходимо интегрировать в таблицу моих клиентов.

Мой вопрос: если я поместил экспортированный client_ID в качестве первичного ключа и импортировал данные, как я должен автоматически увеличивать client_ID на последовательных табличных вставках моей системой?

Как устранить перекрытие идентификаторов клиентов?

ответ

1

Если поле client_ID является AUTO_INCREMENT, вам не нужно ничего делать, при следующем вставке в эту таблицу Mysql автоматически использует следующее значение наибольшего существующего client_ID.

+0

Я думаю, что это не правильно, так как, когда он пытался для вставки строки с идентификатором, который уже существует, MySQL выдает исключение. Раньше у меня были проблемы с этой проблемой. – JCalcines

+0

@JCalcines Конечно, MySQL не позволит вам вставить две записи с одним и тем же идентификатором, но поскольку автор спрашивает: «Как я должен автоматически увеличивать ** client_ID ...» Я предполагаю, что он не намерены вставлять строки с предопределенными идентификаторами после первоначального импорта данных клиента. –

+0

Вы правы, но столбец 'clientId' будет импортирован из другой таблицы. Итак, если он импортировал значение 1 для этого поля, когда он попытался вставить первую строку, MySQl также вернет значение 1, и это вызовет исключение. – JCalcines

2

Вы можете импортировать все данные, а затем установить следующий номер Autoincrement

ALTER TABLE CLIENT AUTO_INCREMENT = lastClientId; 

Где вы должны заменить lastClientId последний идентификатор импортирован

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