1

大家好,基本上我有一个查询选择flagId = 6的所有clientId

这是:

SELECT clientId from ClientsFlags WHERE flagId = 6;

现在我想从这个查询中获取结果,并为在 select 语句中获得的每个结果创建一个新记录

INSERT INTO clientFlags clientId, flagId VALUES('The client ID's that were obtained in the select query', 42);

结合这些陈述的最佳方式是什么?

4

5 回答 5

2

您可以使用INSERT ... SELECT 语法

INSERT INTO clientFlags (clientId, flagId) 
    SELECT clientId, 42 
    FROM ClientsFlags 
    WHERE flagId = 6;

像这样的东西,我没有测试它的语法错误

于 2013-01-23T10:54:35.533 回答
0
INSERT INTO clientFlags (SELECT clientId,42 from ClientsFlags WHERE flagId = 6)
于 2013-01-23T10:55:16.663 回答
0

使用INSERT ... SELECT 语法

您的查询应如下所示,

INSERT INTO clientFlags (clientId, flagId) 
   SELECT clientId, flagId 
   FROM ClientsFlags WHERE flagId = 6;
于 2013-01-23T10:56:45.063 回答
0
INSERT INTO clientFlags (clientId, flagId) SELECT clientId, 42 from ClientsFlags WHERE flagId = 6;
于 2013-01-23T10:57:40.380 回答
0

您可以按照以下方式进行操作

 INSERT INTO `clientFlags` 
 SELECT * FROM `clientFlags` WHERE `flagId` = 6

注意:您还必须记住,任何字段都不能是唯一的或主键...

于 2013-01-23T11:22:42.537 回答