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

Статус
В этой теме нельзя размещать новые ответы.

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Есть бд mysql с которой работаю через php, естественно. В один прекрасный день скрипт мне заявляет что не может добавить строку с id=127, т.к. она уже существует. Но у меня id стоит auto_increment, то есть номера строкам он сам назначает. После 127 он должен сам сделать 128 потом 129 и тд.
Захожу в пхпмайадмин- творится что-то странное. Пробую просматривать значения из неработающей таблицы следующим запросом
Код:
SELECT * 
FROM `sources` 
LIMIT 0 , 300
В итоге мне их показывает всегда разное кол-во. То говорит что у меня их 40. То говорит что их 120. То 70. Психанул, удалил все. создал снова таблицу такую же. Добавил в нее всего одну строку. ХОП! мне показывает что у меня 5 строк с id=127. НО ТАКОГО БЫТЬ НЕ МОЖЕТ!!! я только что ее очистил под нуль! Делаю снова- опять. То работает, потом отказывается. значения пляшут туды-сюды. И время от времени мне показывает эти строки с номером 127 несуществующие.
Впервые с таким сталкиваюсь((( ХЕЛП! хостер вроде надежный, мастерхост
 
может стоит попробовать: REPAIR TABLE?
 
дак зачем REPAIR если я ее удалил под корешок и снова создал. и все равно та же фигня :confused:
 
А у вас ваше поле id, обозначено как первичный ключ? Дамб базы без данных покажите на всякий случай.
 
Вот. счас добавляю строку в таблицу- опять ей присваивает номер 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');
 
phillip, а ты знаешь, что тип данных столбца TINYINT вмещает числа в диапазоне от -127 до 127 ?
И 128 туда уже не впихнуть.

Смени тип данных ID на INT и будет тебе щастье.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху