Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel - aktualizuj wiele rekordów z różnymi wartościami

To powinno działać:

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

Pomyśl tylko, jak stworzyć poprawne zapytanie. Jeśli jest to panel administracyjny lub coś, co nie będzie uruchamiane zbyt często, po prostu użyję iteracji, aby wszystko było proste.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BŁĄD 1305 (42000):SAVEPOINT ... nie istnieje

  2. Najlepsze praktyki dotyczące struktury bazy danych głosowania w komentarzach

  3. Jak przenieść wszystkie bazy danych MySQL ze starego na nowy serwer?

  4. Czy to działa, aby zatrzymać wstrzykiwanie sql?

  5. pojawia się błąd podczas definiowania nazwy zdarzenia w mysqlworkbench 5.5