Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL 5 auto_increment 
:(
    Опции темы
=Женек=
Дата 22.4.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 548
Регистрация: 20.2.2005

Репутация: нет
Всего: 1



До чего же сложно перейти с MySQL 4 на 5. Проблемы за проблемами.


В четвертой версии я ставил auto_increment, делал PRIMARY KEY и все работало.
В пятой же версии при попытке добавить что-то в таблицу вылетает ошибка #1366 - Incorrect integer value: '' for column 'id' at row 1

Икал информациб по моей проблеме - кто рекомендует ставить NULL, кто наоборот NOT_NULL, различные манипуляции с default - все пробовал, ничего не помогает.

Итак - по порядку, что нужно сделать для создания работоспособного поля с auto_increment?
Желательно как это делать в phpMyAdmin

Спасибо.
PM MAIL   Вверх
skyboy
Дата 22.4.2008, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



приведи пример запроса, которым ты вставляешь данные в БД.
что-то мне подсказываеть, что ты используешь конструкцию типа
Код

INSERT INTO `mytable`(id,....) VALUES('',....)

т.е. пытаешься вставлять в поле id пустую строку. так?
PS Почему сразу не приводить запрос, в котором возникает проблема? Ты считаешь нас идиотами или экстрасенсами?
PM MAIL   Вверх
Feldmarschall
Дата 23.4.2008, 07:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Цитата(=Женек= @  22.4.2008,  19:58 Найти цитируемый пост)
все пробовал, ничего не помогает.

это, мягко говоря, фантазия.
если вставлять NULL, то все прекрасно работает.

Опять мы видим ту же проблему: ищется заклинание, которое сработает. 
При этом понимания причин того или иного поведения системы, нет. следовательно, не получается отличить нормальный совет (вставлять NULL) от глупости (вставлять NOT_NULL).
Не говоря уже о том, чтобы самостоятельно решить проблему.
Впрочем, не удивлюсь, если NULL вставлялся, как ('NULL',... тоже, от большого понимания синтаксиса SQL, ага.

Твоя проблема в том, что ты ищешь рецепт. Задаешь вопрос не "в чем суть этой проблемы?", а "как мне её исправить"?
Но проблема рецептов в том, что надо хорошо понимать, в каких случаях они работают, а в каких нет.

А форумы, к сожалению, полны диалогами вида
- подскажите средство от насморка!
- прими пургену! я как-то раз отравился - очень помогло!

PM   Вверх
=Женек=
Дата 23.4.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 548
Регистрация: 20.2.2005

Репутация: нет
Всего: 1



Фельдмаршал, давайте без язвления. Я в состоянии отличить дельный совет от глупости, но когда битый час безуспешно пытаешься что-то сделать, пробуешь все предложения.


По порядку.

Запрос следующий
Код

$query=mysql_query("INSERT INTO comments SET text='text'",$GLOBALS['connection']);


Но!  Помещенный в скрипт, он работает без проблем.
При попытке же выполнить команду "Вставить" в phpMyadmin -  возникает ошибка - "1366 - Incorrect integer value: '' for column 'id' at row 1 "

Ошибки не возникает если вставлять в таблицу в которой столбец с атрибутом auto_increment есть атрибут NULL.
Таблица создана еще при 4 MySQL. Используя же MySQL 5 я просто не могу поставить атрибут NULL. 
Если есть PRIMARY KEY, то атрибут NULL  не ставится, если не создавать PRIMARY KEY - не присваивается атрибут auto_increment, если поставить auto_increment, PRIMARY KEY,  то не поставится NULL.

То есть в принципе, скрипт работает, но я не пойму, почему такие проблемы в phpMyAdmin?


PM MAIL   Вверх
Feldmarschall
Дата 23.4.2008, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



По проблеме с phpMyadmin, к сожалению, ничего не могу сказать - не пользуюсь этой программой.
Возможно, версия старая, и пишет не нулл в запрос, а какую-нибудь фигню.
PM   Вверх
=Женек=
Дата 23.4.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 548
Регистрация: 20.2.2005

Репутация: нет
Всего: 1



Вот еще результат экспериментов:

Таблица созданная в 4 версии mysql - поле с атрибутом NOT NULL, если при INSERT  не задавать значение - все ОК, пишется пустота.

Таблица созданная в 5 версии MySQL - поле с атрибутом NOT NULL, если INSERT  не задавать значение - новая запись вообще не создается.

Добавлено через 1 минуту и 28 секунд
Впрочем, зря я боялся. Записанный NULL  это не строка, записанная в ячейку, а обозначение. 
Впрочем, все равно раздражает.

Ох уж эта миграция....
Как говорят китайцы, проклиная кого-то - "дай бог чтоб жил ты во время перемен"

Добавлено через 5 минут и 23 секунды
Кстати, объясните мне, чем отличается:
 -незаписи в ячейку при выключенном NULL (в общем то запись не происходит, но это говорит о том, что запрос анализируется и что-то в нем не нравится),
-записи в нее '' (без пробела)
- незаписи в нее при включенном NULL



PM MAIL   Вверх
Feldmarschall
Дата 23.4.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Не мог бы ты свои вопросы и утверждения иллюстрировать реальными запросами?
Очень сложно понять, что ты имеешь в виду.

Заодно любой желающий сможет легко протестировать на своей системе твои проблемы.


PM   Вверх
smartov
Дата 23.4.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



=Женек=, видимо старая версия phpmyadmin...
PM MAIL   Вверх
=Женек=
Дата 23.4.2008, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 548
Регистрация: 20.2.2005

Репутация: нет
Всего: 1



Код

Очень сложно понять, что ты имеешь в виду.


Я же писал уже что с запросами через скрипт все ОК.
Проблемы в phpmyadmin, который работает как web-форма. Там все обходится без запросов.
Теперь понятно? А какие флажки я ставил - я подробно расписал, можно проверить.
PM MAIL   Вверх
smartov
Дата 23.4.2008, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



=Женек=, 
Цитата(=Женек= @  23.4.2008,  21:44 Найти цитируемый пост)
Проблемы в phpmyadmin

Вот только интересно, как раздел Базы данных -> MySQL относится к некорректной работе софтины phpmyadmin...  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.