mysql插入选择难题

时间:2009-08-26 01:09:01

标签: mysql select insert

我正在尝试插入select,但我很困惑如何从select中将1个项目填充到目标表中,并使用静态值填充其余项目。

这就是存储过程......所以...这就是我想要做的......

table:animals
id   |type| name
1    |cat  | mittens
2    |cat  | fluffy
3    |dog  | rex

table people_with_pets
persons_name | pets_name
Arnold       | rex

已定义变量owner =“Joe”;

所以......乔爱猫,我想把animals表中的所有名字和“乔”一起插入people_with_pets表。

所以,我想select name from animals where type like 'cats';

并将结果值与“joe”一起插入people_with_pets中的新行(在本例中为2)。

我不确定插入选择是否让我这样,看起来似乎可能,但我不知道如何使用它。

3 个答案:

答案 0 :(得分:4)

INSERT INTO people_with_pets SELECT'Joe',name FROM animals WHERE type ='cat';

答案 1 :(得分:2)

INSERT INTO people_with_pets(persons_name,pets_name)SELECT'Joe',name FROM animals WHERE type ='cat';

答案 2 :(得分:0)

我假设您要做的是将所有猫类型与Joe关联并插入表people_with_pets,以通过使用单个插入选择来显示persons_name Joe以及其他猫名称言。

所以我做了什么:

INSERT INTO people_with_pets
(SELECT 'Joe', name FROM animals WHERE type like 'cat');

结果应该告诉你:

mysql> select * from people_with_pets;

+--------------+-----------+
| persons_name | pets_name |
+--------------+-----------+
| Arnold       | rex       |
| Joe          | mittens   |
| Joe          | fluffy    |
+--------------+-----------+

3行(0.00秒)