在MYSQL中插入具有一个公共值的多行

时间:2012-03-16 03:25:19

标签: mysql

我正在尝试从一个表中进行选择,并使用insert / select函数将返回值插入到另一个表中,该表具有表示搜索参数的公共值。为了简单而不是......

INSERT INTO tbl_name (a,b) VALUES (1,1,1), (4,5,6);

我想做这样的事......

INSERT INTO tbl_name (a,b) VALUES (1), (4,5,6);

除非第二列b有几百个值,而'a'是常用值。我已经尝试使用SET for'a',但要么这不能完成,要么我无法正确使用语法。我这样做的原因是为了避免在PHP中构建插入函数。这是我最好的......

INSERT INTO tbl_name 
  (a,b) 
SET a = '1' 
SELECT c 
  FROM tbl_name2 
 WHERE `d` LIKE '%word%'

2 个答案:

答案 0 :(得分:0)

我可能会忽略这一点,但这样做:

INSERT INTO tbl_name (a,b) (SELECT 1,c FROM tbl_name2 WHERE d like '%word%';);

将完成这项工作。

答案 1 :(得分:0)

好的,我已经完成了这一切,已经输入了所有这些,也可以为每个人发布答案。

INSERT INTO tbl_name
  (a,b) 
SELECT "2", c 
  FROM tbl_name2 
 WHERE d LIKE '%word%'