将数据从一个数据库中的表复制到wordpress数据库

时间:2018-09-16 14:02:50

标签: php mysql sql database wordpress

如何将数据从数据库中的一个表复制到wordpress数据库中?因此来自我自己的数据库的表称为“文章”,并且我已经在本地计算机上安装了WordPress,它自动包含表,并且存在一个名为“ wp_posts”的表,我也试图在其中复制文章。因此,我试图将我创建的其他网站移至wordpress网站,但我不想丢失所有已创建的文章。我该怎么做?我已经尝试过了,但是出现了SQL语法错误。

INSERT INTO wp_seetheuniverse.dbo.wp_posts ('wp_title', 'wp_content')
SELECT 'title', 'content' FROM seetheuniverse.dbo.articles;

这是我得到的错误

ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '.wp_posts ('wp_title', 'wp_content') SELECT
'title', 'content' FROM seetheuniver' at line 1

2 个答案:

答案 0 :(得分:1)

确保在INTO中有相应的列(数字和类型)并选择子句

    INSERT INTO wp_seetheuniverse.dbo.wp_posts (col1, col2, col3)
    SELECT your_col1, your_col, your_col3 
    FROM seetheuniverse.dbo.articles;

请不要在列名周围使用单引号,否则最终我们会在复合列名或保留字上使用

INSERT INTO wp_seetheuniverse.wp_posts (wp_title, wp_content)
SELECT title, content FROM seetheuniverse.articles; 

并确保使用正确的database.schema.table参考

INSERT INTO dbo.wp_seetheuniverse.wp_posts (wp_title, wp_content)
SELECT title, content FROM dbo.seetheuniverse.articles; 

答案 1 :(得分:0)

您的表参考包含三个部分。通常,这些部分以这样的三部分标识符来描述数据库,架构和表,例如在SQL Server中。但是在MySQL模式和数据库中,它们是同义词,因此只有两个部分标识符有效。我猜您很可能是从某个SQL Server示例中复制了dbo

另一件事是永远不要将列(或任何其他对象)名称用单引号引起来。单引号用于表示字符串文字。因此,除非您希望使用带有列名的文字字符串值而不是列的内容,否则不要使用单引号。

尝试:

INSERT INTO wp_seetheuniverse.wp_posts
            (wp_title,
             wp_content)
            SELECT title,
                   content
                   FROM seetheuniverse.articles;