我需要在一个表中插入一行,其中一个字段值是从另一个表计算得出的。与其进行两个查询并冒着出现竞争条件的风险,我认为最好在一个语句中完成所有操作。
INSERT INTO `myTable` (`someData`, `averageAtThisTime`)
VALUES (
"some stuff",
SELECT AVG(`myField`) FROM `myOtherTable`
)
...但这不起作用。有没有一种方法可以在一条语句中实现这一点?如果没有,您有什么建议?
最佳答案
INSERT INTO `myTable` (`someData`, `averageAtThisTime`)
select "some stuff", AVG(`myField`)
FROM `myOtherTable`
关于mysql - 我可以在 INSERT 语句中使用子查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/617493/