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.