2014-03-07 87 views
1

MySQL错误我做了一个已经工作,并期待这样的功能的SQL请求:执行简单的代码

SELECT fnStripTags('this <html>is <b>a test</b>, nothing more</html>'); 

当我执行这个SQL代码:

INSERT INTO `ps_product_lang` (`description`) VALUES (
    SELECT fnStripTags(description) FROM ps_product_lang 
    WHERE ps_product_lang.id_lang = id_lang AND ps_product_lang.id_product = id_product 
) WHERE description IS NOT NULL 

我得到这个错误:

1064 - 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 'SELECT fnStripTags(ps_product_lang.description) FROM 
ps_product_lang WHERE ps_pr' at line 1 
+0

this..No需要values,什么是id_lang和id_product? – Leo

回答

0

insert-select声明不具有values关键字在它:

INSERT INTO ps_product_lang (description) 
SELECT  fnStripTags(description) 
FROM  ps_product_lang 
WHERE  ps_product_lang.id_lang = id_lang AND 
      ps_product_lang.id_product = id_product AND 
      description IS NOT NULL 
0

尝试使用插入staement

INSERT INTO ps_product_lang (description) 
    SELECT fnStripTags(description) 
    FROM ps_product_lang 
    WHERE ps_product_lang.id_lang = id_lang 
    AND ps_product_lang.id_product = id_product 
     And description IS NOT NULL