sql >> Databasteknik >  >> RDS >> Mysql

Laravel - uppdatera flera poster med olika värden

Detta borde fungera:

$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);

Tänk bara på hur man skapar en korrekt fråga. Om det är en administratörspanel eller något som inte kommer att köras så ofta, skulle jag bara använda iteration för att göra det enkelt.




  1. SUB Dynamic Query Building

  2. Django Multiple Databases Fallback till Master om Slave är nere

  3. postgres - med rekursiv

  4. Hur infogar du en PHP-konstant i en SQL-fråga?