Mysql
 sql >> база данни >  >> RDS >> Mysql

Колона за актуализиране на MySQL въз основа на предишния ред (същата колона)

Можете да използвате UPDATE с JOIN към извлечена таблица за това:

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;

Изведената таблица използва променливи, за да изчисли Image стойности на записите с NULL с.

Демо тук



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL ODBC 5.1 Задайте имена, които не са разрешени от драйвера

  2. Разделяне на таблица на база данни в MySQL

  3. ИЗБИРАНЕ на денормализирани колони в отделни записи?

  4. Разделете mysql заявките в масив, като всяка заявка е разделена с;

  5. NodeJS, не затваря mysql връзката