我正在尝试插入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)。
我不确定插入选择是否让我这样,看起来似乎可能,但我不知道如何使用它。
答案 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秒)