Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kolom pembaruan MySQL berdasarkan baris sebelumnya (kolom yang sama)

Anda dapat menggunakan UPDATE dengan JOIN ke tabel turunan untuk ini:

UPDATE Items AS i1
JOIN (
  SELECT ID, @n := @n + 1 AS Image
  FROM Items
  CROSS JOIN (SELECT @n := (SELECT MAX(Image) FROM Items)) AS v
  WHERE Image IS NULL
  ORDER BY ID
) AS i2 ON i1.ID = i2.ID
SET i1.Image = i2.Image;

Tabel turunan menggunakan variabel untuk menghitung Image nilai catatan yang memiliki NULL s.

Demo di sini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Flask_SQLAlchemy, MySQL, simpan karakter Swedia , , ö?

  2. lower_case_table_names=1 di Ubuntu 18.04 tidak membiarkan mysql memulai

  3. Permintaan lambat saat menggunakan ORDER BY

  4. Bekerja dengan INTERVAL dan CURDATE di MySQL

  5. Hibernate generasi uuid dan fungsi mysql uuid uuid()