Задать вопрос
@pvgdrk

Как задать значение по умолчанию для поля longtext в MySql?

В начале надо пояснить что MySQL5 это то ли нельзя сделать по-умолчанию в windows - баг, или еще что непонятно.
В интернетах написано так:
sql_mode='MYSQL40' или sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" так написать в my.ini (в разделе [mysql] как я понимаю)
Ни то ни другое не работает. При попытке задать дефолтное значение получаю ошибку BLOB/TEXT column 'somecolumn' can't have a default value
А мне надо что бы при создании записи были дефолтные значения. Можно перенести все в скрипт - если при чтении поле пустое, значит записать в него то-то. Но это как-то по-дурацки выходит - делать кусок кода который сработает ровно 1 раз - при первом чтении записи. Надо что бы при создании записи поля приводились к стандартным значениям. Как быть?

Забыл сказать - в Django это все.
  • Вопрос задан
  • 5968 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
@kis92
Не знаю как в Джанге но в mysql доке сказано:
Столбцы типов BLOB и TEXT могут индексироваться в версии MySQL 3.23.2 и более новых. Более старые версии MySQL не поддерживают индексацию этих столбцов.
В столбцах типов BLOB и TEXT не производится удаление концевых символов, как это делается для столбцов типа VARCHAR.
Для столбцов BLOB и TEXT не может быть задан атрибут DEFAULT - значения величин по умолчанию.

Попробуйте, при создании записи в бд, вставлять нужное значение, в данное поле.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы