mysql - 无法在我的 Wordpress 数据库上运行简单的 SQL 查询(将网站下载到本地主机)

标签 mysql sql database wordpress mysql-workbench

我想将我的网站下载到我的本地主机,但在我的 Wordpress 数据库上运行简单查询时遇到问题,因此它会将数据库中的所有“真实”网站 URL 更改为 "http://localhost"(遵循本教程(第二部分:不使用插件下载 wordpress 网站 - http://www.wpbeginner.com/wp-tutorials/how-to-move-live-wordpress-site-to-local-server/)。

我将我所有的网站文件从 FTP 服务器下载到我的本地主机目录并下载了我的数据库(压缩)。 这些是我在教程中提到的尝试运行的三个查询,它们应该会更改我的数据库中的链接:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.example.com', 'http://localhost/Dev_site') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.example.com', 'http://localhost/Dev_site');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.example.com','http://localhost/Dev_site');

当我使用 PHPmyAdmin 运行这些查询时,没有任何反应,所以我决定使用 MySQL Workbench。 第一个查询仍然没有改变任何东西,但是得到了这个:

0 row(s) affected Rows matched: 2  Changed: 0  Warnings: 0

虽然我知道它应该改变我的表格中的某些内容。我删除了查询的最后一部分:option_name = 'home' 得到这个:

0 row(s) affected Rows matched: 1  Changed: 0  Warnings: 0

一个变了!!

另外两个查询返回:

错误代码:1175。您正在使用安全更新模式,并且您尝试更新没有使用 KEY 列的 WHERE 的表要禁用安全模式,请在首选项 -> SQL 查询中切换该选项并重新连接。

如前所述,我尝试选中/取消选中“首选项 -> SQL 查询”中的前两个复选框,但这并没有解决我的问题。

  • 为什么我的第一个查询没有按照教程中所写的方式工作?

  • 如何修复我在其他两个查询中遇到的错误?

  • 如果写错了,那么正确的写法是什么?

编辑:

我如前所述更改了“首选项 -> SQL 查询”,取消选中第二个框,关闭“MySQL Workbench”并重新打开它,得到:

0 row(s) affected Rows matched: 3258  Changed: 0  Warnings: 0 

运行第二个查询时。

最佳答案

当我尝试使用 PHPMyAdmin 对我的数据库运行查询时,有时会发生这种情况。

wordpress 上有一些插件可能会有所帮助。

如果要搜索网站名称并将其替换为localhost,可以使用Search and Replace .

对于任意命令,你可以使用SQL Executioner .

关于mysql - 无法在我的 Wordpress 数据库上运行简单的 SQL 查询(将网站下载到本地主机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24678816/

相关文章:

mysql - 在mysql中为数据库中的每个表自动运行查询

php - 从数据库中多次搜索

php - 如何在带有左连接的 mysql select 查询中使用 CASE?

mysql - 语法错误 User_id 在表帮助中找不到!

php - 如何在Mysql中实现Join来获取以下记录

mysql - 不存在查询

mysql - SQL - 由于 where 子句中的列未知,无法对别名进行条件处理

sql - 如何存储 15 x 1 亿条 32 字节记录以进行顺序访问?

mysql - SQL/如何更新sql中1列的多个值,具体取决于她的值和另一列的值

mysql - 导轨 : specifying a different database in the model