Bug #52206
closed
Epic #68397: Make TYPO3 work with MySQL strict mode
Default-values for text-fields
Added by Stefan Neufeind about 11 years ago.
Updated about 6 years ago.
Description
In some places text-fields don't have a default-value. phpMyAdmin shows that there is no default-value set.
Unfortunately MySQL (still) does not support default-values for BLOB/TEXT (see bugs.mysql.com/bug.php?id=21532).
Upon insertion of a new content-element (a plugin in this case) I got:
SQL error: 'Field 'filelink_sorting' doesn't have a default value' (tt_content:NEW5240c411f10d4)
This can be prevented by adding a default-value (empty string) in the TCA-definition for that column (in typo3/sysext/frontend/Configuration/TCA/tt_content.php).
I expect this is true for versions down to 4.5 and is just triggered since some newer MySQL/MariaDB-release.
Happens here on Fedora 19 with mariadb-server-5.5.32-8.fc19.
Files
Turns out that from recent system-environment-testing I still had "sql-mode = STRICT_ALL_TABLES" in my.cnf. Removing that makes the problem go away. Still fix it since it's "wrong"?
- Status changed from New to Accepted
Making TYPO3 compatible with MySQL strict mode is probably a huge challenge that we might want to take some time. But not for 6.2. Which is why I added #54883 suggesting to at least document the fact more clearly and officially.
Just for information
sql_mode=STRICT_TRANS_TABLES reproduces this issue ('Field 'filelink_sorting' doesn't have a default value')
But that's not a default-configuration value, or is it on your platform? Does the install-tool point you towards the problem with a recommendation to change that setting maybe?
It's default when installing MySQL 5.5 on Windows using Windows Platform installer
C:\Program Files\MySQL\MySQL Server 5.5\my.ini:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Worked after changing it to:
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Hello,
I have got the same error on Ubuntu 14.04.1 LTS, mysql Ver 14.14 Distrib 5.5.40, for debian-linux-gnu (x86_64) using readline 6.3. Disabling STRICT_ALL_TABLES in mysql configuration solve this bug.
push. Can this go into 7.x?
如果你也遇到同樣的問題,請修改 my.cnf
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_ALL_TABLES,STRICT_TRANS_TABLES
將以下2者拿掉(或註解)
1. STRICT_ALL_TABLES
2. STRICT_TRANS_TABLES
- Parent task set to #68397
- Status changed from Accepted to Under Review
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/41756
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
I had such error on Ubuntu/MySQL 5.7 with TYPO3 7.6 LTS. To resolve : added at /etc/mysql/my.cnf in [mysqld] section following configuration :
sql_mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
- Status changed from Resolved to Closed
Also available in: Atom
PDF