在我的 TYPO3 v7.6 安装中,我有一个包含以下行的 SQL 脚本:
recursive tinyint(3) unsigned DEFAULT '0' NOT NULL,
这会尝试创建一个名为“recursive”的列。
不幸的是,从 MariaDB 10.2 开始,recursive 就成为保留关键字。我尝试像这样转义这个词:
`recursive`
但这仍然给了我和以前一样的错误:
您的 SQL 语法有错误;检查与您的 MariaDB 相对应的手册 | | |服务器版本,用于在'recursive tinyint(3) unsigned NOT NULL | 附近使用正确的语法 | | XYZ 行默认为“0”。
我如何编辑我的声明才能使其发挥作用?降级 MariaDB 不是一个选择。
TYPO3 7.6 与 MariaDB 10.2 不兼容。正如您已经说过的,降级 MariaDB 不是一个选择,您唯一的选择是:
由于 TYPO3 7.6 是一个非常旧的版本,如果您还没有 ELTS(无论如何都会在今年年底结束),那么它存在多个安全问题,我建议升级到较新的版本。
我刚刚从 6.2 更新到 7.6 时遇到了同样的问题,以便将安装升级到当前版本 12.4。
因为
ALTER TABLE sys_file_collection ADD recursive tinyint(4) NOT NULL default '0';
是升级向导中的第一步,我无法跳过它,我只是在 phpMyAdmin 中添加了包含以下 SQL 查询的列:
ALTER TABLE sys_file_collection ADD `recursive` tinyint(4) NOT NULL default '0';
继续进一步的升级向导步骤似乎对我有用......