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

Laravel - Aktualisieren Sie mehrere Datensätze mit unterschiedlichen Werten

Das sollte funktionieren:

$statement = "UPDATE mytable
    SET key = CASE id
        WHEN 1 THEN 'key'
        WHEN 2 THEN 'another_key'
        WHEN 3 THEN 'some_key'
    END,
    value = CASE id
        WHEN 1 THEN 15
        WHEN 2 THEN 25
        WHEN 3 THEN 45
    END
    WHERE id IN (1, 2, 3)
");

DB::statement($statement);

Denken Sie nur daran, wie Sie die richtige Abfrage erstellen. Wenn es sich um das Admin-Panel oder etwas handelt, das nicht sehr oft ausgeführt wird, würde ich einfach Iteration verwenden, um die Dinge einfach zu halten.