Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql] Jak skasowac te same wpisy?
Dagger
post
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Witam!
Mam problem z baza... poprzedni skrypt nie mial zabezpieczenia przez dodawaniem do bazy kilku tych samych wpisow - przez co teraz baza ma spore rozmiary. Jak wykryc i wykasowac niepotrzebne (powtarzajace sie) wpisy w bazie?
Z gory dzieki za pomoc.
Go to the top of the page
+Quote Post
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Jesli te wpisy czyms sie roznia, np id, to wyszukaj wszystkie id dla tego samego wpisu i usuń wszystkie oprócz jednego.
Go to the top of the page
+Quote Post
Synaps
post
Post #3





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 1.12.2003
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Użyj składni [sql:1:0c96abf79f]SELECT DISTINCT(pole) FROM ....[/sql:1:0c96abf79f] wyciągnie Ci to unkialne rekordy , zapamiętaj je , wywal stare i zaimportuj zapamietane...
Jednak moja teoria może być zła :? jeśli nie zamiścisz tu struktury
tabeli i rodzaju rekordów , z poprawny rozwiązaniem może być ciężko.
Go to the top of the page
+Quote Post
Dagger
post
Post #4





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Ale macie jakies sprawdzone skrypty?
Bo nie chcial bym stracic zawartosci bazy.
Go to the top of the page
+Quote Post
kszychu
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Cytat
Ale macie jakies sprawdzone skrypty?
Bo nie chcial bym stracic zawartosci bazy.


To zrob kopie! Bez kopii nawet sprawdzonym skryptem bym sie nie odwazyl gmerac w produkcyjnej bazie.
Go to the top of the page
+Quote Post
Dagger
post
Post #6





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Mam juz kopie ;-) Tylko mimo wszystko nie chcial bym miec balaganu w bazie bo ponowna instalacja tej bazy to jakies 6 godzin roboty

Momo wszystko... moze jednak ktos ma takowy skrypcik? Sprawdzony.
Go to the top of the page
+Quote Post
scanner
post
Post #7





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
ponowna instalacja tej bazy to jakies 6 godzin roboty
Ke?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Cytat
mysql -u user -ppass database < dump.sql
Zajmuje Ci 6 godzin?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
spenalzo
post
Post #8





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Pierwsze zapytanie
[sql:1:6bc079b160]SELECT nazwa, id, COUNT(*) AS ilosc FROM aaa GROUP BY nazwa
HAVING ilosc>1 [/sql:1:6bc079b160]
i potem w php w pętli usuwasz rekordy, dla id pobranych z bazy.
Oczywiście 'nazwa' to jest nazwa tej kolumny, która sie powtarza.

BTW: sprawdź najpierw phpmyadminie to zapytanie co Ci zwraca.
Go to the top of the page
+Quote Post
spenalzo
post
Post #9





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Drugi sposób - tworzysz drugą taką samą tabelę o nazwie np. nowa_tabela
Potem:
[sql:1:070e6993c3]INSERT INTO nowa_tabela SELECT DISTINCT * FROM stara_tabela[/sql:1:070e6993c3]
a potem kasujesz starą, nowej zmieniasz nazwe i tyle.

PS. Google mogą (prawie) wszystko: http://www.google.com/search?q=how+to+dele...ntries+in+mysql
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 15:22