Puis-je utiliser une sous-requête à l'intérieur d'une instruction INSERT?

J'ai besoin d'insérer une ligne dans une table, avec une valeur de champ étant calculée à partir d'une autre table. Plutôt que de faire deux requêtes et de risquer une condition de course, je pensais que ça serait mieux de tout faire en une seule instruction.

INSERT INTO `myTable` (`someData`, `averageAtThisTime`)
VALUES (
    "some stuff",
    SELECT AVG(`myField`) FROM `myOtherTable`
)

... mais cela ne fonctionne pas. Est il possible que je peux réaliser cela dans une déclaration? Si non, quelle est votre recommandation?

OriginalL'auteur nickf | 2009-03-06