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

Zmień kolejność wierszy w tabeli MySQL

Musisz to zrobić w dwóch krokach:

UPDATE MyTable 
   SET `Order` = `Order` + 1 
 WHERE `Order` > (SELECT `Order` 
                    FROM MyTable 
                   WHERE ID = <insert-after-id>);

...co przesunie numer zamówienia każdego wiersza dalej w dół listy niż osoba, po której wstawiasz.

Następnie:

INSERT INTO MyTable (Name, `Order`)
VALUES (Name, (SELECT `Order` + 1 FROM MyTable WHERE ID = <insert-after-id>));

Aby wstawić nowy wiersz (przy założeniu, że identyfikator jest automatycznym przyrostem), z numerem zamówienia o jeden więcej niż numer osoby, po której wstawiasz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL liczący wszystkie wiersze zamiast zliczania pojedynczych wierszy

  2. Jak utworzyć relację w środowisku MySQL Workbench

  3. Dzielenie wartości mysql na nieznaną liczbę części

  4. Czy istnieje jakiś sposób Laravel na wykonanie pliku .SQL w celu załadowania danych?

  5. Znajdź i zamień tekst w całej tabeli za pomocą zapytania MySQL