Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL insère des données avec des valeurs fixes et plusieurs résultats de sélection

Oui, vous pouvez le faire en utilisant insert . . . select . Cela semble correspondre à l'intention de votre requête d'origine :

INSERT INTO notification_table (receiver_id, type, content, time) 
    SELECT (SELECT id FROM user_table WHERE username = 'test' LIMIT 1), 
           'system_broadcast',
           content, time
    FROM broadcast_table;

Notez que cela insérera une ligne pour chaque ligne dans broadcast_table . Vous voudrez peut-être un where clause ou limit pour obtenir uniquement des lignes particulières.