Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Laravel - cập nhật nhiều bản ghi với các giá trị khác nhau

Điều này sẽ hoạt động:

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

Chỉ cần nghĩ cách tạo truy vấn chính xác. Nếu đó là bảng điều khiển quản trị hoặc thứ gì đó sẽ không được chạy thường xuyên, tôi chỉ sử dụng lặp lại để giữ mọi thứ đơn giản.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. điều chỉnh múi giờ với SQL

  2. Laravel thay đổi các tham số cơ sở dữ liệu tại thời điểm chạy

  3. MySQL Replication:Các giao dịch sai sót trong bản sao dựa trên GTID

  4. ALTER TABLE ADD COLUMN mất nhiều thời gian

  5. MySQL - Lấy số hàng khi chọn