php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.06.2010, 17:08  
Neuer Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 13
PHP-Kenntnisse:
Anfänger
TobiasH befindet sich auf einem aufstrebenden Ast
Standard leere Tabellen löschen

Hallo

eine Shopsoftware legt bei mir leere Tabellen an, wenn ein Besucher im Shop war, allerdings nichts bestellt hat.

Nach einiger Zeit habe ich jetzt gemerkt, dass in der Datenbank einige tausende Tabellen entstanden sind.

Ich möchte alle leeren Tabellen löschen.

Die Tabellen haben einen Namen wie

warenkorb1236436144

wobei die Nummer hinter dem Wort warenkorb immer anders ist.

Frage: welchen Befehl muß ich eingeben, damit alle leeren Tabellen gelöscht werden, ohne dass ich 10.000 Klicks machen muß um Tabellen zu löschen ... ???

Gruß Tobias
TobiasH ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.06.2010, 17:16  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Sowas gibts nicht. Dein Shop hat eindeutig einen Designfehler! Das ist ein no-go wenn man für jeden Besucher eine eigene Tabelle anlegt! Dafür sind Datenbanken nicht gedacht, daher unterstützen sie ach nicht das löschen leerer Tabellen.

Dafür musst du schon ein Skript schrieben das sehr umständlich alle Tabellen überprüft ob sie leer sind und dann löscht. Aber VORSICHT das geht nur wenn der User schon offline ist, denn ansonsten kann es sein das er noch keine Artikel reingelegt hat aber du schon die Tabelle löschen willst.

Mein Tipp: Wechsel die Shopsoftware! SO wirst du immer wieder auf neue Probleme stoßen und wirst auf lange Sicht sehr viel Ärger haben.
Flor1an ist offline   Mit Zitat antworten
Alt 13.06.2010, 17:17  
Neuer Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 13
PHP-Kenntnisse:
Anfänger
TobiasH befindet sich auf einem aufstrebenden Ast
Standard

Hi

habe ich auch vor ... ist aber kurzfristig nicht zu machen ... muß kurzfristig erstmal die DB zum laufen bekommen ...
TobiasH ist offline   Mit Zitat antworten
Alt 13.06.2010, 17:19  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Hmmm, ich sehe schon, wie Du in 5 Jahren immer noch mit pma die leeren Tabellen wegklickst.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 13.06.2010, 17:19  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Benötigst du die Datenbanken später noch? Ansonsten kannst du ja mal alle löschen.
Flor1an ist offline   Mit Zitat antworten
Alt 13.06.2010, 17:21  
Neuer Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 13
PHP-Kenntnisse:
Anfänger
TobiasH befindet sich auf einem aufstrebenden Ast
Standard

jo, DB wird noch gebraucht ... das ist das blöde dabei ... kurzfristig ... aber wird noch gebraucht
TobiasH ist offline   Mit Zitat antworten
Alt 13.06.2010, 18:19  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Mit MySQL kannst du nur einzelne Tabellen löschen, von daher wirst du wohl oder übel ein PHP Skript schreiben müssen das alle Tabellen ausliest, bei jeder Tabelle schaut ob sie leer ist und diese dann löschen. Die Befehle dazu findest du im MySQL Handbuch.
Flor1an ist offline   Mit Zitat antworten
Alt 13.06.2010, 18:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Evtl. kannst Du mit
Code:
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
was basteln.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 14.06.2010, 08:18  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Du könntest per cronjob über die betreffenden Tabellen gehen, auslesen, wie viele Datensätze vorhanden sind und bei == 0 diese Tabelle löschen.

Ich denke mal, die Tabellen haben ein Muster, nachdem sie benannt werden..
xm22 ist offline   Mit Zitat antworten
Alt 14.06.2010, 08:45  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Das macht keinen Sinn Tabellen für User anzulegen und dann wieder zu löschen...
Wenn ich mir den Name so ansehe "warenkorb1236436144" wird wohl das hinter dem Warenkorb, eine Kundennummer oder etwas ähnliches.
Leg dir daher lieber eine Tabelle an, in der diese einzelnen Schlüßel gespeichert sind und lösch am am Ende diese einfach wieder, wenn sie nicht mehr gebraucht werden.
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie leere Zeilen aus Array löschen (array_filter)? Moon PHP Tipps 2010 14 02.06.2010 11:11
MySql Tabellenzeile per Link löschen Q-Meax PHP Tipps 2009 8 03.10.2009 13:30
[Erledigt] Leere Elemente aus Array löschen coram PHP Tipps 2009 4 29.06.2009 20:01
[Erledigt] Leere Zeile in csv löschen... solvero PHP Tipps 2008 2 04.10.2008 11:05
löschen in mehreren Tabellen maeck Datenbanken 5 10.07.2008 23:19
Alle Tabellen löschen FireFIghter Datenbanken 7 14.11.2006 13:55
Leere Array-Elemente löschen Jacks Rache PHP Tipps 2006 5 09.06.2006 22:44
leere tabellen problem mit zählen Nosferatu PHP Tipps 2006 1 08.01.2006 03:28
[MYSQL] Leere Stellen in Tabellen ermiteln LordAvalon Datenbanken 6 28.09.2005 00:26
Vor dem löschen abfragen ob man wirklich löschen will PHP Tipps 2005-2 1 05.09.2005 11:54
Leere Zeilen löschen Datenbanken 4 22.07.2005 13:19
In 2 Tabellen gleichzeitig löschen HStev Datenbanken 4 20.06.2005 22:17
Mehrere Tabellen löschen Tschuu Datenbanken 1 08.05.2005 11:36
[Erledigt] Löschen in mehreren Tabellen gleichzeitig Datenbanken 2 05.12.2004 00:43
Linie zwischen Tabellen löschen HTML, Usability und Barrierefreiheit 4 16.08.2004 12:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
leere tabellen, leere tabellen entfernen, mysql leere tabellen löschen, mysql leere datenbank löschen, sql leere tabellen finden, php tabellen löschen, table leer mysql befehl, lerre tabellen, mysql leere tabellen einer datenbank löschen, warenkorb und tabelle löschen, leere tabellen suchen mysql, mysql leere tabllen lsöchen, php mysql leere tabelen löschen php code, leere tabellen finden, tabelle leeren, leeren tabellen, mysql leere tabellen mit bestimmten namen löschen, wenn tabelle leer dann löschen, skript um tabellen aus datenbank löschen, leere tabellen löschen mysql

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum