Автоинкремент и существующая таблица
Автоинкремент и существующая таблица
Невозможно создать поле Автоинкремент на уже существующей таблице с данными.
Re: Автоинкремент и существующая таблица
Мы исследуем данную проблему и сообщим Вам о результате.
Re: Автоинкремент и существующая таблица
Не могли бы Вы прислать нам скриншот ошибки, а также CREATE выражение данной таблицы?
Вы можете прислать ответ напрямую в нашу службу поддержки на supportATdevartDOTcom и alexaATdevartDOTcom
Вы можете прислать ответ напрямую в нашу службу поддержки на supportATdevartDOTcom и alexaATdevartDOTcom
Re: Автоинкремент и существующая таблица
1. Создаем таблицу.
2. Добавляем в нее данные. Любые, важно чтобы было 2 или более строки.
3. Добавляем первый ключевой столбец ID. Скрипт, который создает программа:
При выполнении строки получаем ошибку Duplicate entry '0' for key 'PRIMARY'. И это естественно, так как первой командой мы создаем поле с "NOT NULL", которое будет заполнено "0". Какое может быть PRIMARY на одинаковое содержимое!?
Если вместо 4 строк использовать одну, то ошибки нет. ;)
Код: Выделить всё
CREATE TABLE test.table1 ( Name varchar(50) DEFAULT NULL)ENGINE = INNODB;
Код: Выделить всё
INSERT INTO test.table1 VALUE('1'),('2');
Код: Выделить всё
-- Создать столбец `id` для таблицы `table1`
ALTER TABLE table1 ADD COLUMN id INT(11) NOT NULL;
-- Изменение порядка колонок в таблице `table1`
ALTER TABLE table1 MODIFY id INT(11) NOT NULL FIRST;
-- Создать индекс `PRIMARY` для объекта типа таблица `table1`
ALTER TABLE table1 ADD PRIMARY KEY (id);
-- Изменить столбец `id` для таблицы `table1`
ALTER TABLE table1 MODIFY id INT(11) NOT NULL AUTO_INCREMENT;
При выполнении строки
Код: Выделить всё
ALTER TABLE table1 ADD PRIMARY KEY (id);
Если вместо 4 строк использовать одну
Код: Выделить всё
ALTER TABLE `table1` ADD COLUMN `Id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`Id`);
Re: Автоинкремент и существующая таблица
Спасибо за ответ.
Мы воспроизвели данную проблему и исправим её в следующей версии продукта.
Мы воспроизвели данную проблему и исправим её в следующей версии продукта.