首页 > 解决方案 > MySQL 将列导出到文件作为更新语句

问题描述

我创建了一个 php 函数,它将在数据库中执行查找/替换任务,我认为在不中断数据库的情况下最快的方法是执行以下操作:

  1. 将列转储到文件中
  2. 通过 file_get_contents,str_replacefile_put_contentsphp 函数对其进行编辑。
  3. 执行查询文件

是否有更清洁的查询来产生这种效果?

我丑陋的代码是这样的..

SELECT 
CONCAT("UPDATE copy_wp_posts SET post_content = '", 
post_content ,
"' where ID = ", 
ID, ";") as 'query' from wp_posts 
where post_type IN ('page','post') 
INTO OUTFILE '/var/lib/mysql-files/update-query.mysql;

这会产生一个包含此代码的文件..

UPDATE wp_posts SET post_content = 'The quick brown..'    where ID = 34135;
UPDATE wp_posts SET post_content = 'Lorem ipsum dolor..'  where ID = 34136;
UPDATE wp_posts SET post_content = 'Copacobana chuchu..'  where ID = 34137;
List goes on...

我将在这个文件中查找和替换并运行它,更新表。但是我不确定这是否是防错的,因为它受到 " 和 '' 的困扰,尤其是在涉及post_content列时。

标签: phpmysql

解决方案


推荐阅读