Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL fügt Daten mit festen Werten und mehreren ausgewählten Ergebnissen ein

Ja, Sie können dies mit insert . . . select . Dies scheint der Absicht Ihrer ursprünglichen Anfrage zu entsprechen:

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;

Beachten Sie, dass dies eine Zeile für jede Zeile in broadcast_table einfügt . Vielleicht möchten Sie ein where -Klausel oder limit um nur bestimmte Zeilen zu erhalten.