Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL сам себе противоречит. / 12 сообщений из 12, страница 1 из 1
17.03.2018, 16:18
    #39616258
Лебедкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
Имеется скрипт на питоне, который инсертит в таблицу некоторую информацию. При его работе получаю предупреждение:
Код: plaintext
Warning: Field 'name' doesn't have a default value

Пытаюсь выставить дефолтовое значение для этого поля, но получаю ошибку:
Код: plaintext
#1101 - BLOB/TEXT column 'name' can't have a default value

получается mysql сам себе противоречит?
...
Рейтинг: 0 / 0
17.03.2018, 16:49
    #39616266
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
Не получается. Об этом аглицким по белому в доке написано:BLOB and TEXT columns cannot have DEFAULT values.
...
Рейтинг: 0 / 0
17.03.2018, 17:13
    #39616269
Лебедкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
BLOB and TEXT columns cannot have DEFAULT values. это понятно.
но там не написано, почему генерируется warning при пропуске этого поля, и как от этого варнинга избавится.
...
Рейтинг: 0 / 0
17.03.2018, 20:14
    #39616304
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
Лебедкинтам не написано, почему генерируется warning при пропуске этого поляДокументация достаточно подробна. Наверняка, где-то написано. Мне лень искать, где именно.

Лебедкинкак от этого варнинга избавитсяВарианты есть.
- Указать значение при вставке записи.
- Изменить тип данных поля на допускающий указание дефолтового значения и указать его.
- (не уверен) Возможно, sql_mode может изменить поведение СУБД в такой ситуации.
...
Рейтинг: 0 / 0
17.03.2018, 20:56
    #39616315
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
ГДЕ противоречие? Как утверждение "у некоего поля нет дефолтного значения" противоречит утверждению "поле такого типа не может иметь дефолтное значение"?
...
Рейтинг: 0 / 0
18.03.2018, 08:01
    #39616380
Лебедкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
AkinaГДЕ противоречие? Как утверждение "у некоего поля нет дефолтного значения" противоречит утверждению "поле такого типа не может иметь дефолтное значение"?
Да. С одной стороны он как бы рекомендует задать дефолтовое значение, но с другой стороны он не разрешает задать дефолтовое значения для этого типа.
...
Рейтинг: 0 / 0
18.03.2018, 09:20
    #39616383
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
Вы по-прежнему можете поставить default null.

А варнинг от того, что у поля нет никакого default значения (например, null) и одновременно с этим запрос не передаёт никакого значения для этого поля. База закономерно жалуется, что не понимает что всё-таки в поле писать. В sql_mode strict даже будет нормальный отказ выполнять такой запрос, а не варнинг.
...
Рейтинг: 0 / 0
18.03.2018, 14:48
    #39616450
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
MelkijБаза закономерно жалуется, что не понимает что всё-таки в поле писать.
Записать NULL в неупомянутое NULL-able поле это, видимо, слишком сложная идея.
...
Рейтинг: 0 / 0
18.03.2018, 15:08
    #39616459
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
ЛебедкинС одной стороны он как бы рекомендует задать дефолтовое значениеНет. Сервер говорит ровно то, что говорит. Остальное - твои ничем не обоснованные фантазии.
...
Рейтинг: 0 / 0
18.03.2018, 21:23
    #39616547
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
Лебедкин С одной стороны он как бы рекомендует задать дефолтовое значение
Где это он рекомендует?
...
Рейтинг: 0 / 0
18.03.2018, 22:18
    #39616562
Лебедкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
AkinaНет. Сервер говорит ровно то, что говорит. Остальное - твои ничем не обоснованные фантазии.
HettГде это он рекомендует?
А как должно восприниматься предупреждения программы о неверных данных? Разве не как рекомендация устранить причину?
если сообщается, что нет дефолтового значения, значит первая реакция программиста - выставить это дефолтовое значение. логично?
...
Рейтинг: 0 / 0
18.03.2018, 22:44
    #39616564
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL сам себе противоречит.
ЛебедкинА как должно восприниматься предупреждения программы о неверных данных?Как констатация сервером некого факта. Не больше и не меньше.
Остальное зависит от квалификации программиста. Кто-то читал инструкцию и делает как надо, кто-то не читал... Кстати, иногда MySQL в сообщениях об ошибках явным образом отправляет программиста почитать документацию.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL сам себе противоречит. / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]