Посыпалась Mysql или чо хз. чето странное

Тема в разделе "Базы данных", создана пользователем phillip, 21 апр 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Есть бд mysql с которой работаю через php, естественно. В один прекрасный день скрипт мне заявляет что не может добавить строку с id=127, т.к. она уже существует. Но у меня id стоит auto_increment, то есть номера строкам он сам назначает. После 127 он должен сам сделать 128 потом 129 и тд.
    Захожу в пхпмайадмин- творится что-то странное. Пробую просматривать значения из неработающей таблицы следующим запросом
    Код:
    SELECT * 
    FROM `sources` 
    LIMIT 0 , 300
    В итоге мне их показывает всегда разное кол-во. То говорит что у меня их 40. То говорит что их 120. То 70. Психанул, удалил все. создал снова таблицу такую же. Добавил в нее всего одну строку. ХОП! мне показывает что у меня 5 строк с id=127. НО ТАКОГО БЫТЬ НЕ МОЖЕТ!!! я только что ее очистил под нуль! Делаю снова- опять. То работает, потом отказывается. значения пляшут туды-сюды. И время от времени мне показывает эти строки с номером 127 несуществующие.
    Впервые с таким сталкиваюсь((( ХЕЛП! хостер вроде надежный, мастерхост
     
  2. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    может стоит попробовать: REPAIR TABLE?
     
  3. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    дак зачем REPAIR если я ее удалил под корешок и снова создал. и все равно та же фигня :confused:
     
  4. Anu

    Anu Постоялец

    Регистр.:
    19 окт 2007
    Сообщения:
    136
    Симпатии:
    13
    А у вас ваше поле id, обозначено как первичный ключ? Дамб базы без данных покажите на всякий случай.
     
  5. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Вот. счас добавляю строку в таблицу- опять ей присваивает номер 127. Это видно в дампе


    Код:
    -- phpMyAdmin SQL Dump
    -- version 
    -- http://www.phpmyadmin.net
    --
    -- Время создания: Апр 22 2009 г., 08:24
    -- Версия сервера: 5.0.67
    -- Версия PHP: 4.4.6
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    --
    -- База данных: `script`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Структура таблицы `sources`
    --
    
    CREATE TABLE IF NOT EXISTS `sources` (
      `id` tinyint(8) NOT NULL auto_increment,
      `url` varchar(150) NOT NULL,
      `category` varchar(32) NOT NULL,
      `last_check` varchar(32) NOT NULL,
      `check_period` varchar(32) NOT NULL,
      `active` varchar(32) NOT NULL,
      `fullnews` varchar(32) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=128 ;
    
    --
    -- Дамп данных таблицы `sources`
    --
    
    INSERT INTO `sources` (`id`, `url`, `category`, `last_check`, `check_period`, `active`, `fullnews`) VALUES
    (127, 'http://chubbygirls.xlogz.com/feed\r', 'lesbians', '0', '43200', 'Y', 'none');
    
     
  6. mydooms

    mydooms Постоялец

    Регистр.:
    22 фев 2008
    Сообщения:
    105
    Симпатии:
    26
    phillip, а ты знаешь, что тип данных столбца TINYINT вмещает числа в диапазоне от -127 до 127 ?
    И 128 туда уже не впихнуть.

    Смени тип данных ID на INT и будет тебе щастье.
     
    phillip нравится это.
Статус темы:
Закрыта.