【发布时间】:2020-11-20 01:39:05
【问题描述】:
所以,我们使用了一个名为“phpmydirectory”的脚本,而此时它已经过时了。它不是为在 PHP 7+ 或 MySQL 5.7+ 上工作而设计的,但我们主要是让它工作。
脚本的一部分,您可以从 .csv 文件导入新的“列表(如博客上的文章)”。我们最近将我们的数据库服务器从 Ubuntu 18.04 更新到了 20.04,MySQL 也从 5.7 更新到了 8(我们为 date_time 格式等关闭了一些严格的模式设置)。
我在导入时看到此错误,但我不确定原因:
Fatal Error: Database (1064) SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'ROW, @previous_parent_id := parent_id, parent_id, id FROM pmd_lo' at line 1 in
file /usr/www/dd/phpmyd/includes/class_database.php on line 202 (SQL: UPDATE pmd_locations a, (SELECT IF(@previous_parent_id =
parent_id, @row := @row +1, @row :=1) AS ROW, @previous_parent_id := parent_id, parent_id, id FROM pmd_locations JOIN (SELECT @row :=0,
@previous_parent_id :=0) i ORDER BY parent_id, left_) aa SET a.child_row_id = aa.row WHERE a.parent_id = aa.parent_id AND a.id = aa.id) in
/usr/www/dd/phpmyd/includes/class_database.php on line 207
这是踪迹:
File: /usr/www/dd/phpmyd/includes/class_tree_gateway.php
Line: 111
Class: Database
Relevant PHP/MYSQL code:
https://www.paste.org/112726
File: /usr/www/dd/phpmyd/includes/class_imports.php
Line: 666
Class: Tree_Gateway
Relevant PHP/MYSQL code:
https://www.paste.org/112731
File: /usr/www/dd/phpmyd/cp/admin_ajax.php
Line: 616
Class: Imports
Relevant PHP/MYSQL code:
https://www.paste.org/112732
我真的不确定这里。道歉。
【问题讨论】:
-
基于 8.0.2 版以来的 keyword and reserved words information,
ROW现在是保留字。因此,只需在该别名周围添加引号(或反引号)就会有所帮助,例如:'ROW'。在那里,以及其他任何地方都可能需要同样的东西。 -
我现在就试试。如果真的那么简单,我将不胜感激!
-
现在似乎工作得很好!发表评论,以便我给你最好的答案。非常感谢,你不明白我多么感谢你的时间!