Ankündigung

Einklappen
Keine Ankündigung bisher.

leere Tabellen löschen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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


  • #2
    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.

    Kommentar


    • #3
      Hi

      habe ich auch vor ... ist aber kurzfristig nicht zu machen ... muß kurzfristig erstmal die DB zum laufen bekommen ...

      Kommentar


      • #4
        Hmmm, ich sehe schon, wie Du in 5 Jahren immer noch mit pma die leeren Tabellen wegklickst.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Benötigst du die Datenbanken später noch? Ansonsten kannst du ja mal alle löschen.

          Kommentar


          • #6
            jo, DB wird noch gebraucht ... das ist das blöde dabei ... kurzfristig ... aber wird noch gebraucht

            Kommentar


            • #7
              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.

              Kommentar


              • #8
                Evtl. kannst Du mit
                Code:
                SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
                was basteln.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  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..

                  Kommentar


                  • #10
                    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!"

                    Kommentar


                    • #11
                      Das wurde doch alles schon besprochen, wieso muss man alles doppelt oder dreifach wiederholen?

                      Kommentar


                      • #12
                        [ot]Möglichkeiten:
                        1. Postcount erhöhen (hilft dem Ego^^)
                        2. Weil man zeigen will, dass man der gleichen Meinung ist (wieso auch immer)
                        3. Weil es einem fad ist.
                        Also das ganze ist riesiger Schmafu und ich würde dir dazu raten, das DB Design zu ändern!
                        Um was für einen Shop handelt es sich hierbei? Darf man das wissen?
                        [/ot]
                        Bitte keine Verwarnung, aber das musste sein wenn du schon fragst

                        Kommentar


                        • #13
                          Also ich würde das Tabellendesign än… *Realsatire off*
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          Kommentar

                          Lädt...
                          X