Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zmiana wszystkich ID tabeli
Forum PHP.pl > Forum > Przedszkole
php11
Dzień dobry,

Chcę od nowa ustawić wszystkie id w tabeli za pomocą:

  1. SELECT *
  2. FROM `tabela`
  3. ORDER BY `tabela`.`data` DESC
  4.  
  5. SET @num := 0;
  6. UPDATE `tabela` SET id = @num := (@num+1);
  7. ALTER TABLE `tabela` AUTO_INCREMENT =1;


ID się zmienia, ale nie wtakiej kolejności, jak data dodania.
Nie mogę sobie z tym poradzić.
Z góry dziękuję za pomoc smile.gif

p.s. wiem, co robię: zmiana id nie ma wpływu na nic innego ;-)
trueblue
SELECT i ALTER nie są potrzebne.

  1. SET @num := 0;
  2. UPDATE `tabela` SET id = @num := (@num+1) ORDER BY DATA; //lub DATA DESC
php11
Bardzo dziękuję za szybką odpowiedź.


Otrzymuję: #1062 - Duplicate entry '102' for key 'PRIMARY'


Wpisów mam stokilkanaście, może ma to znaczenie?
Pyton_000
Nie możesz tak zrobić .\

Musisz utworzyć tabelke temp i wrzucić wszystkie rekordy.
Potem wywalasz kolumnę z A_I
na końcu wrzucasz wszystkie wpisy do oryginalnej tabeli wcześniej czyszcząc ją i ustawiając A_I na 1
php11
Ustawiłem @num na 100 i poszło smile.gif

  1. SET @num := 100;
  2. UPDATE `tabela` SET id = @num := (@num+1) ORDER BY DATA;



Bardzo dziękuję za pomoc, choć nie do końca to rozumiem ;-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.