







|
MySQL.RU - Webboard
Вернуться
Некорректная работа AUTO_INCREMENT (Максим) 10/02/2008 - 17:00:20
Re: Некорректная работа AUTO_INCREMENT (ursus) 11/02/2008 - 14:13:08
Re: Некорректная работа AUTO_INCREMENT (Максим) 11/02/2008 - 18:12:26
Re: Некорректная работа AUTO_INCREMENT (ursus) 11/02/2008 - 18:46:34
Re: Некорректная работа AUTO_INCREMENT (Шурик) 13/11/2009 - 14:10:59
From: Максим - 10/02/2008 - 17:00:20
Subject:Некорректная работа AUTO_INCREMENT
-----------------
Всем привет!
Работая с MySQL 5 наткнулся на непонятное поведение базы при работе с auto_increment полями.
Допустим, имеем следующую таблицу:
CREATE TABLE `test` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Теперь вставим записи с id 0 и 1.
+----+
| id |
+----+
| 0 |
| 1 |
+----+
Сделаем поле id auto_increment
ALTER TABLE `test` CHANGE `id` `id` INT( 11 ) NOT NULL AUTO_INCREMENT ;
Получаем ошибку #1062 - Duplicate entry '1' for key 1, другими словами, оно только что решило внести изменения в первичн ключ.
Однако, если изначально создать таблицу с опцией auto_increment для id, и попытаться вставить запись с id=0, 0 изменится на 1.
Мне такое поведение базы совершенно непонятно, я столкнулся с проблемой при экспорте-импорте базы, в которой есть таблицы с auto_increment полями, содержащими 0.
Как такое победить?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
36443
|
|