Ошибка записи в базу данных при одобрении курса

Re: Ошибка записи в базу данных при одобрении курса

от Виталий Лавров -
Количество ответов: 5
Изображение пользователя Эксперт по Moodle

И мне все же очень хотелось бы узнать, почему название обрезается только при одобрении запроса на курс, но не при создании или редактировании курса. И исходя из чего при обрезке остается разное число символов.

Посмотрите таблицы mdl_course_request и mdl_course на тему shortname .

В 3.5 mdl_course_request.shortname varchar(100) , а в mdl_course.shortname varchar(255). Как 100 символов не могут поместиться в 255 я не понимаю!
В старых версиях shortname был 15 символов.

Есть подозрение, что у вас какая-то проблема с кодировками таблиц.

В utf-8 число символов не равно числу байтов.

В ответ на Виталий Лавров

Re: Ошибка записи в базу данных при одобрении курса

от Ivan Nikolar -

Здравствуйте! Скажите пожалуйста, а как убрать ограничение в 100 символов в коротком имени? Можно ли в базе данных поменять? (Там ключик стоит серый если заходить в my php admin) Заранее благодарю!

В ответ на Ivan Nikolar

Re: Ошибка записи в базу данных при одобрении курса

от Николай Козловский -
У меня стоит shortname varchar(255). Уже не помню, когда установили. Есть проблемы с восстановлением курса, когда полное имя длинное, но я думая потому, что fullname есть по максимальные 254 символа. Может кто подскажет, что произойдет при уменьшении поля на 1 символ в mysql.
В ответ на Николай Козловский

Re: Ошибка записи в базу данных при одобрении курса

от Vadim Tabunshchik -
Изображение пользователя Developers
>> У меня стоит shortname varchar(255)
Так создается таблица в БД по умолчанию при инсталляции Moodle.
>> fullname есть по максимальные 254 символа
Разница в один символ так принципиальна? shortname создали varchar(255) только для того, чтобы хранить индекс mtv_cour_sho_ix→`shortname`
А вот fullname не имеет индекса.
>>что произойдет при уменьшении поля на 1 символ в mysql.
В данном случае - абсолютно ничего. Просто не нужно вмешиваться в то, что создавалось не одним десятков профессиональных программистов. улыбаюсь
В ответ на Ivan Nikolar

Re: Ошибка записи в базу данных при одобрении курса

от Vadim Tabunshchik -
Изображение пользователя Developers
Во-первых, «ключик» никакого отношения к вашему вопросу не имеет, он означает атрибут PRIMARY KEY
Во-вторых, 100 символов - это только в mdl_course_request, а в таблице mdl_course поле shortname = 255 символов. Так что мешает администратору при подтверждении запроса на создание курса отредактировать поле «Короткое название» без вмешательства в БД?
В ответ на Vadim Tabunshchik

Re: Ошибка записи в базу данных при одобрении курса

от Ivan Nikolar -
Добрый день! Спасибо. Просто при редактировании короткого имени курса в настройках отображается, что превышено ограничение в 100 символов