我新设置了TYPO3,但是当我尝试添加/保存内容时,它给了我这个错误:
SQL错误:'sys_language_uid'列的'不正确的整数值:'' 在第1行
答案 0 :(得分:19)
该行为与使用严格模式的数据库管理系统有关,如5.7版本的MySQL。禁用严格模式(如接受的答案中提供的)只是一种解决方法。
真正的解决方案是通过修改相应字段定义的TCA(表配置数组)来显式地将值转换为整数。
input
的{{1}}类型的字段,请参阅example tt_content.starttime
'eval' => 'int'
来定义默认值,请参阅example tt_content.sys_language_uid
答案 1 :(得分:6)
在Localconfiguration.php文件中设置
[SYS][setDBinit] = SET SESSION sql_mode=''
答案 2 :(得分:1)
对我来说,尝试不同的方法后,解决方案是:
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 |
+---------------+------------------------+
答案 3 :(得分:-1)
在最新的TYPO3版本中,您必须在LocalConfiguration.php中添加它
'setDBinit' => 'SET SESSION sql_mode = \'NO_ENGINE_SUBSTITUTION\';',