Новости
Документация
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

> Original message text:
> 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.
>
> Как такое победить?
>
>


From: Шурик - 13/11/2009 - 14:10:59
Subject:Некорректная работа AUTO_INCREMENT
-----------------
у mysqldump всё получается с нулевыми значениями, в дамп он вставляет строку:
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
вероятно, дело в ней, попробуйте поэкспериментировать.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36443



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