2014-02-20 2 views
0

Когда я копирую все таблицы из одной базы данных и вставляю их в другую базу данных, как установить все auto_increments из этих таблиц, чтобы начать значение? Возможно ли сделать скрипт php для такой вещи?Таблицы MYSQL auto_increment

+0

Будь конкретнее –

+0

Что вы подразумеваете под копированием и вставкой одной базы данных в другую? Я бы использовал специальный инструмент Database Tool, такой как Sequel Pro или Toad, для экспорта моей базы данных, затем импортировал его в новый. – Newbi3

+0

'ALTER TABLE mytable AUTO_INCREMENT = 1000'. Где 1000 может быть начальным значением. –

ответ

0

Попробуйте это:

ALTER TABLE test AUTO_INCREMENT = 'startvalue' 

Состояние: если таблица не пустое начальное значение должно быть больше чем MAX (AUTO_INCREMENT)

0

Если столбец AUTO_INCREMENT является первичным ключом, и если вы пересортируйте AUTO_INCREMENT, это может быть проблемой в связи с другими таблицами. Вместо того, чтобы повторно сортировка данных AUTO_INCREMENT, вы можете импортировать следующим образом:

  1. Вы можете отключить AUTO_INCREMENT на новую таблицу следующим образом: ALTER TABLE [your_table] CHANGE auto_increment_column_nameauto_increment_column_name INT (11) NOT NULL

  2. После установки, вы можете включить AUTO_INCREMENT и установить его снова следующим образом: ALTER TABLE [your_table] AUTO_INCREMENT = [Максимальное значение]

Кроме того, вы должны обновить все значения внешних ключей зависимых таблиц с помощью сценария миграции.

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