【问题标题】:Getting SQL syntax error in INSERT query in wordpress database在 wordpress 数据库中的 INSERT 查询中出现 SQL 语法错误
【发布时间】:2013-03-21 07:51:54
【问题描述】:

我正在使用下面的插入查询为所有 wordpress 帖子添加自定义文件,但出现 Sql 语法错误我不知道我在哪里做错了

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, 'CustomField'
AS meta_key 'MyValue AS meta_value
FROM wp_posts WHERE ID NOT IN
(SELECT post_id FROM wp_postmeta WHERE meta_key = 'CustomField')
'' AND post_type = 'post'; 

【问题讨论】:

    标签: mysql sql database wordpress


    【解决方案1】:

    您错过了用于分隔列的逗号和用于包装字符串的单引号。

    INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
    SELECT ID AS post_id, 
           'CustomField' AS meta_key, 
           'MyValue' AS meta_value
    FROM   wp_posts 
    WHERE  ID NOT IN
           (SELECT post_id 
            FROM wp_postmeta 
            WHERE meta_key = 'CustomField')
           AND post_type = 'post'; 
    

    使用NOT IN 的另一种方法是连接两个表,

    INSERT  INTO wp_postmeta (post_id, meta_key, meta_value)
    SELECT  a.ID AS post_id, 
            'CustomField' AS meta_key, 
            'MyValue' AS meta_value
    FROM    wp_posts a
            LEFT JOIN wp_postmeta b
                ON  a.ID = b.post_id AND 
                    b.meta_key = 'CustomField'
    WHERE   a.post_type = 'post' AND
            b.post_id IS NULL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多