如何使用phpmyadmin将wordpress帖子从csv文件导入数据库?
问题是,有太多的帖子有很多内容。csv文件中的表格包括标题、内容、帖子图片、截图、插件、类别、标签和一些自定义字段(大约5到6个)。
帖子应该保存为草稿,内容包括html代码。
发布于 2015-08-15 14:44:37
事实上,有很多帖子,或者帖子有很多内容,这真的不应该是问题:这就是批量导入的目的。
文章中的HTML代码也不应该是问题,只要CSV是正确的:它应该引用代码,以便它仍然可以正确解析。
但是,您需要创建一个具有适当列类型的相应表,以便可以按需要导入数据。CSV将不包含有关列类型的详细信息。
大多数列类型可能是显而易见的,但是如果帖子可能变得很长,您可能需要考虑对帖子内容本身使用一种TEXT (甚至LONGTEXT)类型。
发布于 2015-08-15 14:49:40
为了将csv导入到MySQL,我们有Load Data Infile语法。正如第一个答案所传达的,您需要具有与要加载的csv文件相对应的表结构,然后在执行命令时将csv文件与表列进行映射。
有一篇博客文章解释了你可能想要引用的不同的use-cases for importing CSV to MySQL (也可以查看评论)。
希望这能有所帮助。
发布于 2017-10-04 21:08:53
我使用phpmyadmin完成了一个大型csv导入
SET @PostID := (SELECT ID FROM (table-prefix)\_posts ORDER BY ID DESC LIMIT 0,1);
CREATE temptable ( col1 VARCHAR(255) NOT NULL,col2 VARCHAR(255) NOT NULL,col3 TIME NOT NULL,col4 VARCHAR(255) NOT NULL,col5 TIME NOT NULL,col6 VARCHAR(10000) NOT NULL,col7 VARCHAR(255)非NULL);将数据LOCAL INFILE '/cal.csv‘加载到以',’结尾的表临时字段中\n‘以’‘结尾的行忽略1行;
ALTER table temptable ADD Postid INT NOT NULL AUTO_INCREMENT主键;UPDATE temptable SET Postid = (Postid +@PostID);
插入到(table-prefix)\_posts(ID,post\_author,post\_content,post\_title,post\_name,post\_excerpt,post\_type,post\_status,<代码>D18,<代码>D19,<代码>D20)选择Postid,1,col6,col1,Postid'.',''),'@','-'),'&','-'),'/','-'),‘--’,'-‘),’-‘,’-‘),LEFT (col6,200),'events','publish',--将草稿设置为' draft’'closed','closed',来自temptable的STR_TO_DATE(col2,‘%d/%m/%Y%r’);然后,将
INSERT INTO (table-prefix)\_postmeta(Post\_id,meta\_key,meta\_value) SELECT Postid,'meta-box-startdate',TIMESTAMP(STR_TO_DATE(col2,‘%d/%m/%Y%T’),col3) FROM temptable;
https://stackoverflow.com/questions/32022255
复制相似问题