sql >> Database teknologi >  >> RDS >> Mysql

Laravel - opdater flere poster med forskellige værdier

Dette burde virke:

$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 bare på, hvordan du opretter den korrekte forespørgsel. Hvis det er et administratorpanel eller noget, der ikke vil blive kørt ret ofte, ville jeg bare bruge iteration for at gøre tingene enkle.




  1. Sådan gemmer man signatur i MySQL

  2. Sådan vælger du et undersæt af kolonner fra en lagret procedures resultatsæt (T-SQL)

  3. Tilbageførselstransaktion ved trigger-FEJL

  4. SQL Server brugerdefinerede funktioner