mysql - 我可以在 INSERT 语句中使用子查询吗?

标签 mysql subquery

我需要在一个表中插入一行,其中一个字段值是从另一个表计算得出的。与其进行两个查询并冒着出现竞争条件的风险,我认为最好在一个语句中完成所有操作。

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/

相关文章:

php - Doctrine 2 创建多个记录

php - 使用字符串的唯一 int(11) mysql 值

MySQL查询重写没有子查询可能吗?

php - Mysql 子查询失败,需要帮助 :)

mysql - 为什么使用 IN(子查询)的查询比使用 IN(离散列表)的查询花费的时间更长

mysql - 存储旧数据以加快访问速度的更好方法

mysql - 来自同一个表的连接计数

mysql - 在mysql中将连接转换为子查询

MYSQL 更新嵌套子查询

php - 从 2 个不适用于 php mysql 的表中选择