仅在某些服务器中的 Mysql 查询错误

Posted

技术标签:

【中文标题】仅在某些服务器中的 Mysql 查询错误【英文标题】:Mysql Query Error only in Some Server 【发布时间】:2016-02-15 09:23:52 【问题描述】:

我正在尝试将 mysql 转储导入不同服务器上的新数据库。 我已经通过 phpMyAdmin 创建了转储。

当我尝试导入新服务器(使用 phpMyAdmin)时,旧服务器生成的一些查询返回错误。

例如这个查询返回错误:

INSERT INTO `wp_options` VALUES(324, 'CookieLawInfo-0.9', 'a:43:s:18:"animate_speed_hide";s:3:"500";s:18:"animate_speed_show";s:3:"500";s:10:"background";s:4:"#fff";s:14:"background_url";s:0:"";s:6:"border";s:4:"#444";s:9:"border_on";b:1;s:13:"button_1_text";s:7:"Accetto";s:12:"button_1_url";s:1:"#";s:15:"button_1_action";s:27:"#cookie_action_close_header";s:20:"button_1_link_colour";s:4:"#fff";s:16:"button_1_new_win";b:0;s:18:"button_1_as_button";b:1;s:22:"button_1_button_colour";s:4:"#000";s:20:"button_1_button_size";s:6:"medium";s:13:"button_2_text";s:17:"Maggiori dettagli";s:12:"button_2_url";s:37:"https://www.webfilla.it/cookie-policy";s:15:"button_2_action";s:17:"CONSTANT_OPEN_URL";s:20:"button_2_link_colour";s:4:"#444";s:16:"button_2_new_win";b:1;s:18:"button_2_as_button";b:0;s:22:"button_2_button_colour";s:4:"#333";s:20:"button_2_button_size";s:6:"medium";s:11:"font_family";s:7:"inherit";s:10:"header_fix";b:0;s:5:"is_on";b:1;s:19:"notify_animate_hide";b:1;s:19:"notify_animate_show";b:0;s:13:"notify_div_id";s:20:"#cookie-law-info-bar";s:26:"notify_position_horizontal";s:5:"right";s:24:"notify_position_vertical";s:6:"bottom";s:14:"notify_message";s:169:"Il nostro sito fa uso di cookie per offrire una migliore esperienza di navigazione. Continuando la navigazione autorizzi l\\''uso dei cookie. [cookie_button] [cookie_link]";s:12:"scroll_close";b:0;s:19:"scroll_close_reload";b:0;s:20:"showagain_background";s:4:"#fff";s:16:"showagain_border";s:4:"#000";s:14:"showagain_text";s:24:"Privacy & Cookies Policy";s:16:"showagain_div_id";s:22:"#cookie-law-info-again";s:13:"showagain_tab";b:0;s:20:"showagain_x_position";s:5:"100px";s:4:"text";s:4:"#000";s:17:"use_colour_picker";b:1;s:12:"show_once_yn";b:0;s:9:"show_once";s:5:"10000";', 'yes');

错误是:

结束引号 ' 是预期的。 (在位置 1440 的“”附近)

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 ''a:43:s:18:"animate_speed_hide";s:3:"500";s:18:"animate_speed_show";s: 附近使用正确的语法: 3:"500";s' 在第 1 行

如果我尝试在 localhost 中执行相同的查询,这可以正常工作,没有任何错误。

今天是我尝试修复它的第三天,但没有成功。你能帮帮我吗?

最好的问候, 西蒙娜

/--- 编辑 ---/ 谢谢scaisEdge,非常感谢您的帮助! 但是,解决问题的关键不是如何编辑此查询以使其正常工作,而是为什么在某些服务器中此查询已经有效,而在其他一些服务器中却不行?如何使相同的查询在每台服务器上工作?

导入文件由数百个查询组成。不可能一一手动编辑...

你有什么想法吗?谢谢!

【问题讨论】:

我有个主意。 phpmyadmin(或其他层)版本差异 旧服务器和新服务器上分别运行着什么版本的phpMyAdmin和MySQL? 【参考方案1】:

可能与单引号有关

尝试删除这部分代码中的单引号或用适当的双引号括起来..

Continuando la navigazione autorizzi l\\''uso dei cookie.

【讨论】:

【参考方案2】:

在任何编辑器(如 notepad++)中打开 .sql 脚本文件和

您需要将\''替换为\'(对于新版本的phpmyadmin)

您需要将\'替换为\''(对于旧版本的phpmyadmin)

何时从 sql 文件的所有内容中替换它 那么它会为你带来好运。

【讨论】:

【参考方案3】:

您需要将\\'' 替换为\',它会起作用。

【讨论】:

以上是关于仅在某些服务器中的 Mysql 查询错误的主要内容,如果未能解决你的问题,请参考以下文章

选择项目仅在某些类别中的行

数据库错误 - 仅在某些浏览器中

仅在 mysql 中的某些行上创建索引

WCF 错误 401 未经授权仅在某些电脑上

Google BigQuery:授予服务帐户权限以仅在某些特定数据集中创建作业

“ContentType 匹配查询不存在” - 仅在 SQLite 上,而不是 MySQL