从表中获取所有值并重用它们以在其他表中创建行

时间:2016-09-19 09:00:14

标签: mysql sql database

我有一个表(人物)列(id,name,year)。有什么方法可以获取所有ID(SELECT id FROM people)并使用它们在其他表(people_id,additional_info)中创建新行。我的意思是,对于表中的每个id,我想在其他表中添加包含id和一些附加信息的新行。也许这里需要像for-loop这样的东西?

3 个答案:

答案 0 :(得分:1)

嗯,通常你有一个人的信息,并用这些信息写一条记录。为所有人写空记录很有意义。而且,当每人只有一条记录时,为什么不简单地在人员表中添加一个信息栏?

无论如何,你可以创建模拟记录:

insert into people_info (people_id, additional_info)
select id, null from people;

答案 1 :(得分:0)

Insert into targetTable (id, additional_info)
select id,'additionalinfo' from PEOPLE

不需要for循环,只需使用上面的查询。

答案 2 :(得分:0)

您可以使用INSERT ... SELECT语法将行插入people_info表(文档here)。

e.g。

insert into people_info(...)
select (...) from people; <and posibly other tables>