我想在我的表中插入一组3个值,其中1个来自其他表,2个手动。但是,对于这2个手动值,可以有多个值,而且我似乎无法获得如何在与所选值组合时插入多个值的方法。
我已经搜索了这些答案,但是当我有多个手动值时,没有答案怎么办
MySQL How do you INSERT INTO a table with a SELECT subquery returning multiple rows?
我有一个名为people
的表,另一个名为cities
的表,想插入一组城市中的多个人,例如(name, age, city)
我当前的查询是
INSERT INTO people
SELECT 'John', '32', c.name FROM cities c
WHERE cities.id = 5
ON DUPLICATE KEY UPDATE people.age = '32'
如果我只想插入“约翰”,这将正常工作。但是,如果我有一组人(John,Bob,Maria等),是否有可能在一个查询中全部完成?我知道我可以遍历它们,并对要插入的每个人执行此查询,但是从性能角度来看,这似乎不是一个很好的选择,因为我可以插入数十行。