TYPO3: SQL error: 'Incorrect integer value: '' for column 'sys_language_uid' at row 1'

前端 未结 4 1208
被撕碎了的回忆
被撕碎了的回忆 2020-12-20 15:44

I have newly setup TYPO3, but when I try to add/save content, it gives me this error:

SQL error: \'Incorrect integer value: \'\' for column \'sys_lang

相关标签:
4条回答
  • 2020-12-20 16:17

    The behavior is related to database management systems using strict mode, like MySQL since version 5.7. Disabling strict mode (like provided in the accepted answer) is just a work around.

    The real solution would be to explicitly cast values to integer by modifying TCA (table configuration array) for the according field definitions.

    • for fields of type input that would be setting/extending 'eval' => 'int', see example tt_content.starttime
    • or in general for all field types it would be to define the default value using 'default' => 0, see example tt_content.sys_language_uid
    0 讨论(0)
  • 2020-12-20 16:20

    In latest TYPO3 Versions you have to add this in LocalConfiguration.php

    'setDBinit' => 'SET SESSION sql_mode = \'NO_ENGINE_SUBSTITUTION\';',
    
    0 讨论(0)
  • 2020-12-20 16:40

    set this in Localconfiguration.php file

    [SYS][setDBinit] = SET SESSION sql_mode=''
    
    0 讨论(0)
  • 2020-12-20 16:43

    For me, after trying different approaches, the solution was:

    mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';" 
    

    Then, you can verify that the mode is set by running the following:

     mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"
    

    And you should see:

    +---------------+------------------------+
    | Variable_name | Value                  |
    +---------------+------------------------+
    | sql_mode      | NO_ENGINE_SUBSTITUTION |
    +---------------+------------------------+
    
    0 讨论(0)
提交回复
热议问题