Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36443



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |