Ja, u kunt dit doen met insert . . . select
. Dit lijkt overeen te komen met de bedoeling van uw oorspronkelijke zoekopdracht:
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;
Houd er rekening mee dat hierdoor één rij wordt ingevoegd voor elke rij in broadcast_table
. Misschien wil je een where
clausule of limit
om alleen bepaalde rijen te krijgen.