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

Zvyšující se hodnota MySQL

Ano:Použijte uživatelem definovanou proměnnou :

SET @position := 0; -- Define a variable
INSERT INTO products
SELECT id_product, id_category, name, (@position := @position + 1)
FROM db2.products
WHERE id_category = xxx;

Výsledek zvýšení na @position je hodnota použitá pro vložení.

Upravit:

Deklarace proměnné můžete přeskočit zpracováním počáteční hodnoty na řádku:

...
SELECT ..., (@position := ifnull(@position, 0) + 1)
...

To může být užitečné zejména při provádění dotazu pomocí ovladače, který neumožňuje více příkazů (oddělených středníkem).



  1. Jak zrušit omezení v SQL Server (T-SQL)

  2. Schéma exportu MySql bez dat

  3. Součet několika sloupců MySQL uložených v jiném sloupci?

  4. Vztah předaný do #nebo musí být strukturálně kompatibilní. Nekompatibilní hodnoty:[:reference]