Я недавно установил TYPO3, но когда я пытаюсь добавить/сохранить контент, он выдает эту ошибку:
Ошибка SQL: «Неверное целочисленное значение:» для столбца «sys_language_uid» в строке 1
Я недавно установил TYPO3, но когда я пытаюсь добавить/сохранить контент, он выдает эту ошибку:
Ошибка SQL: «Неверное целочисленное значение:» для столбца «sys_language_uid» в строке 1
Поведение связано с системами управления базами данных, использующими строгий режим, такими как MySQL, начиная с версии 5.7. Отключение строгого режима (как указано в принятом ответе) - это просто обходной путь.
Реальным решением было бы явное приведение значений к целому числу путем изменения TCA (массива конфигурации таблицы) для соответствующих определений полей.
input
, которые будут настраивать/расширять 'eval' => 'int'
, см. #L241" rel="noreferrer">пример tt_content.starttime
'default' => 0
, см. TCA/tt_content.php#L304" rel="noreferrer">пример tt_content.sys_language_uid
установите это в файле Localconfiguration.php
[SYS][setDBinit] = SET SESSION sql_mode=''
Для меня, попробовав разные подходы, решение было таким:
mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
Затем вы можете убедиться, что режим установлен, выполнив следующее:
mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"
И вы должны увидеть:
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| sql_mode | NO_ENGINE_SUBSTITUTION |
+---------------+------------------------+
В последних версиях TYPO3 вы должны добавить это в LocalConfiguration.php.
'setDBinit' => 'SET SESSION sql_mode = \'NO_ENGINE_SUBSTITUTION\';',