Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL为每个已经存在的记录插入一条记录_Mysql_Sql - Fatal编程技术网

MySQL为每个已经存在的记录插入一条记录

MySQL为每个已经存在的记录插入一条记录,mysql,sql,Mysql,Sql,大家好,我有一个查询,选择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); 组合这些语句的

大家好,我有一个查询,选择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);
组合这些语句的最佳方式是什么?

您可以使用

类似这样,我还没有测试它的语法错误

INSERT INTO clientFlags (SELECT clientId,42 from ClientsFlags WHERE flagId = 6)
您的查询应该如下所示:

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

你可以像下面这样做

 INSERT INTO `clientFlags` 
 SELECT * FROM `clientFlags` WHERE `flagId` = 6
注意:您还必须记住,任何字段都不能是唯一的或主键

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