Да, можете да направите това с помощта на insert . . . select
. Това изглежда отговаря на намерението на първоначалната ви заявка:
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;
Имайте предвид, че това ще вмъкне един ред за всеки ред в broadcast_table
. Може да искате where
клауза или limit
за да получите само определени редове.