2010-08-11 106 views
1

我有以下查询:结合PHP变量和选择变量到一个SQL INSERT查询

INSERT INTO 
           table 
          (
           memberid, 
           field1, 
           field2, 
           field3 
          ) 
          VALUES 
          (
           :memberid,    
           (
            SELECT 
             field1, 
             field2, 
             field3 
            FROM 
             table 
            WHERE 
             id = :id 
           ) 
          ) 

我使用PDO预处理语句,但查询不以这种方式工作。

有谁知道如何将准备好的语句和SELECT变量合并到一个查询中吗?

Tnx

+0

你使用什么SQL实现? – Gumbo 2010-08-11 16:09:59

+0

对不起维克多。我不知道这个功能可用。我将在未来记住这一点! – Arjen 2010-08-11 16:23:30

+0

如果你没有回答你的问题,请不要回答你自己的问题。 – Gumbo 2010-08-11 16:32:11

回答

3

您是否考虑过插入选择?

INSERT INTO mytable (a,b) 
SELECT :a, b 
FROM myothertable 
+0

我试过了,但那不起作用。我得到这个错误: 插入值列表与列表列表不匹配:1136列计数与第1行的值计数不匹配 – Arjen 2010-08-11 16:16:08

+0

您可能使用的代码是“INSERT INTO(a,b,c)SELECT a,b ”。发布实际查询,我们会为您计算列和值。 – 2010-08-11 16:23:27

+0

谢谢。我在设置VALUES参数时犯了一个错误(感谢Gumbo) – Arjen 2010-08-11 16:36:01