Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL insere dados com valores fixos e vários resultados de seleção


Sim, você pode fazer isso usando insert . . . select . Isso parece corresponder à intenção da sua consulta original:
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;

Observe que isso inserirá uma linha para cada linha em broadcast_table . Você pode querer um where cláusula ou limit para obter apenas linhas específicas.