Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zwiększanie wartości MySQL

Tak:użyj zmiennej zdefiniowanej przez użytkownika :

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;

Wynik inkrementacji do @position to wartość użyta do wstawienia.

Edytuj:

Możesz pominąć deklarację zmiennej, obsługując wartość początkową w linii:

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

Może to być szczególnie przydatne podczas wykonywania zapytania przy użyciu sterownika, który nie zezwala na wiele poleceń (oddzielonych średnikami).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podejście do wielu zapytań MySQL za pomocą Node.js

  2. Różnica między typem danych zmiennoprzecinkowych i dziesiętnych

  3. Pusty ciąg wstawiający zero, a nie null

  4. Używanie TIMESTAMP MySQL vs bezpośrednie przechowywanie znaczników czasu

  5. Obrazy w MySQL