我正在尝试将MYSQL服务器从 W2008R2 迁移到 W2016 。我已经安装了相同版本的MYSQL(5.1.68),导出了数据库并将其还原到新服务器上。我在适用的地方复制了MY.ini。我已经测试了连通性,并且一切正常。使用新的数据库连接更新config.php之后,尝试加载index.php时出现以下错误。
错误号:1054
“ order子句”中的未知“ order”列
SELECT * FROM(
breaking_news
)OR BY BYorder
ASC文件名:C:\ inetpub \ https \ system \ database \ DB_driver.php
行号:328
当我返回并检查W2008 MYSQL服务器上数据库的内容时,它在breaking_news
表上也没有名为order的列。我迷失了站点最初是如何使用无法返回结果的查询来工作的,现在我想知道某些MYSQL服务器设置是否可以负责站点在2008服务器而不是2016服务器上的工作。我可以在数据库服务器1和服务器2之间来回切换,它将在2008年工作,而在2016年将无法工作,据我所知,两个数据库在最新新闻表中的内容相同,而在数据库的其余部分中都具有相同的内容。 >
答案 0 :(得分:0)
order
是保留的mysql关键字https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-O
您应在订单列中使用反引号
SELECT * FROM (breaking_news) ORDER BY `order` ASC