sql >> Databáze >  >> RDS >> Mysql

Sloupec aktualizace MySQL na základě předchozího řádku (stejný sloupec)

Můžete použít UPDATE s JOIN k odvozené tabulce pro toto:

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;

Odvozená tabulka používá proměnné k výpočtu Image hodnoty záznamů s NULL s.

Ukázka zde



  1. while($row =mysql_fetch_assoc($result)) - Jak foreach $row?

  2. Proměnná MySQL `max_allowed_packet` se automaticky resetuje na 1 MB

  3. Krásné bloky Boilerplate

  4. Data dotazu Oracle, kde hodnota sloupce s čárkou pro kontrolu hodnota obsahuje nebo ne