Проблема в Forum Kreator

Ошибка при работе MySQL 8

#1 25 октября 2019 в 01:37
Field 'category_id' doesn't have a default value

INSERT INTO cms_topic_online (`user_id`)
VALUES ('1') ON DUPLICATE KEY UPDATE `category_id` = '0', `thread_id` = '0', `date_pub` = CURRENT_TIMESTAMP [ON DUPLICATE KEY UPDATE `category_id` = '0',` thread_id` = '0', `date_pub` = CURRENT_TIMESTAMP]
Последние вызовы:

cmsDatabase->insertOrUpdate() @ /system\core\model.php: 567
cmsModel->insertOrUpdate() @ /system\controllers\topic\model.php: 449
modelTopic->updateUserOnline() @ /system\controllers\topic\actions\index.php: 161
actionTopicIndex->run() @ /system\core\controller.php: 563
cmsController->runExternalAction() @ /system\core\controller.php: 453
cmsController->executeAction() @ /system\core\controller.php: 429
cmsController->runAction() @ /system\core\core.php: 768
cmsCore->runController() @ /index.php: 44

Сайт развернут на OpenServer.
Насколько я понял нужно отключить строгий режим MySQL и проблема будет решена? Кто что скажет дорогие друзья?
#2 25 октября 2019 в 07:52

Кто что скажет дорогие друзья?

@derw
а что говорит разработчик?
#3 25 октября 2019 в 08:51
есть еще вариант в базе данных добавить значение по дефолту для поля category_id хотя это поле должно быть в запросе указано так как это id категории.
#4 25 октября 2019 в 09:52
Что-то мне подсказывает, что лучше использовать Тип контента как Вопрос-ответ и модерацию /forum/thread32446-1.html#318132. В комментариях не работает Поиск, можно делать поиск по лучшим по рейтингу 3-5 комментариям.
#5 25 октября 2019 в 18:23
Отключение строгого режима помогает, но при заходе на категории, вот что появляется) ;)
И кстати, что-то мне подсказано, что таблицы форума не максимально грамотно реализованы, при условии, что создаешь тем порядка 30-50 и уже плюс секунда в обработке!
У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'groups as `user_groups`, karma as `user_karma`, friends_count as `user_friends_c' на строке 1

SELECT i.*, topic_thread_counter as `user_topic_thread_counter`, topic_post_counter as `user_topic_post_counter`, nickname as `user_nickname`, avatar as `user_avatar`, u.rating as `user_rating`, date_reg as `user_date_reg`, date_log as `user_date_log`, fsign as `user_signature`, groups as `user_groups`, karma as `user_karma`, friends_count as `user_friends_count`, is_locked as `user_is_locked`, IF(online.date_created IS NOT NULL AND TIMESTAMPDIFF(SECOND, online.date_created, NOW()) <= 180, 1, 0) as `is_online`
FROM c_topic_threads i
INNER JOIN c_users as u ON u.id = i.user_id
LEFT JOIN c_sessions_online as online ON online.user_id = u.id
WHERE (i.thread_id IS NULL) AND (i.category_id = '1') AND (i.thread_id IS NULL) AND (i.category_id = '1')
ORDER BY i.fixed_top desc, i.date_update desc
LIMIT 0, 25
Последние вызовы:

cmsModel->get() @ /system\controllers\topic\model.php: 118
modelTopic->getForumThreads() @ /system\controllers\topic\actions\index.php: 40
actionTopicIndex->run() @ /system\core\controller.php: 563
cmsController->runExternalAction() @ /system\core\controller.php: 453
cmsController->executeAction() @ /system\core\controller.php: 429
cmsController->runAction() @ /system\core\core.php: 768
cmsCore->runController() @ /index.php: 44
#6 26 октября 2019 в 16:45

а что говорит разработчик ?

Владимир Савенко
popcorn
#7 26 октября 2019 в 16:54
Вот и сказочки про форум конец, кто не юзал — молодец.
#8 26 октября 2019 в 21:10

Насколько я понял нужно отключить строгий режим MySQL и проблема будет решена? Кто что скажет дорогие друзья?

@derw
С одной стороны Вы правы. Достаточно отключить строгий режим.
Идете во флажок опенсервера — Дополнительно — Конфигурация — ваша версия mysql
Там находите sql_mode и пишете туда
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES.
Но что-то на форуме без определенной категории… это очень неправильно.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.