Ankündigung

Einklappen
Keine Ankündigung bisher.

Doppelte Datensätze Verbieten und löschen

Einklappen

Neue Werbung 2019

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

  • Cyber Soldier
    hat ein Thema erstellt Doppelte Datensätze Verbieten und löschen.

    Doppelte Datensätze Verbieten und löschen

    Hallo
    ich habe eine Frage ich betreibe eine Shop aus osCommerce Basis. Leider wurden in der Datenbank mehrere gleiche Attributen eingetragen, dadurch ist der osCommerce Shop ziemlich lahm geworden und man findet sich auch im admin Bereich nicht mehr zurecht dar es über 130 Seiten sind.
    • 1. kann man in der MySQL Datenbank die Erstellung 2 gleicher attributen verbieten?
    • 2. ist es möglich die bereits eingetragenen gleichen attributen automatisch zu löschen?


    ich kenne mich leider nicht so gut mit MySQL Datenbanken aus und hoffe das mir hier jemand unter die Arme greifen kann.

  • Basti
    antwortet
    Na, dann gib doch an der genannten Stelle mal aus, was übergeben wird, um zu testen, ob das auch die richtige Stelle ist. Und, wenns stimmt, schaust du dir die Datenbank an und versuchst die Abfrage zu formuleren. Erst mit Worten und dann - vielleicht mit Hilfe hier - in SQL.

    Sorry, will osCommerce grad nicht anpacken - hab genug Ärger mit dem Mist gehabt und kanns grad einfach nicht sehen.

    Basti

    Einen Kommentar schreiben:


  • Cyber Soldier
    antwortet
    Also danke erstmal
    Leider bin ich noch nicht wirklich gut in PHP, habe Grade erst gelernt wie ich was ausgebe und wie ich eine variable übergebe. Ich weiß das ist jetzt ein bissen viel was ich von dir verlange aber kannst du mir dabei helfen. Was ich da genau machen muss weis ich nicht ? Ich wahre dir sehr sehr dankbar

    Einen Kommentar schreiben:


  • Basti
    antwortet
    Hi.

    Hilft wohl nichts, als die Funktion ausfindig zu machen, die die Daten schreibt und davor dann eine Routine zu setzen, die prüft, ob die Produkt-Eigenschaften bereits definiert wurden. Ich hab hier eine osCommerce-Installation 2.2-ms2. Sieht so aus, als wäre die admin/products_attributes.php ein guter Ansatzpunkt. Dort die erste Query - bei mir Zeile 35.

    Basti

    Einen Kommentar schreiben:


  • Cyber Soldier
    antwortet
    Das ist schon richtig mit den Dubletten also löschen tue ich es dann über phpMyAdmin. Aber wie kann ich es verhindern das Dubletten entstehen. bzw wie kann ich es über MySQL Verbieten das in der Tabelle Doppelte Farben, Größen ect. eingetragen werden ?

    Einen Kommentar schreiben:


  • Basti
    antwortet
    Es gibt eben diese beiden Punkte. Einmal die Dubletten ausmerzen und zum Anderen zu verhindern, dass überhaupt welche entstehen. Wenn ich dich nun richtig verstehe, geht es dir nur darum, die Dubletten zu löschen und da bist du wahrscheinlich am schnellsten, wenn du die Datensätze einfach via phpMyAdmin rauslöschst.

    Basti

    Einen Kommentar schreiben:


  • Cyber Soldier
    antwortet
    ich weiß nicht genau ob das das Richtige ist. gibt es noch eine andere lösung ?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Wenn du zwei Spalten als Schlüssel definierst, und du REPLACE INTO nutzt, trägt er eine neue Zeile ein, wenn keine Spalte mit gleichen Schlüsseln vorhanden ist, ansonsten aktualisiert er die jeweilige Zeile.

    Siehe dev.mysql.com/doc

    Einen Kommentar schreiben:


  • Cyber Soldier
    antwortet
    was ist das genau REPLACE INTO bitte erkläre das mal kurz

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Du könntest auch REPLACE INTO nutzen

    Einen Kommentar schreiben:


  • Cyber Soldier
    antwortet
    Danke für eure antworten hier nochmal mein Problem.

    Also ich will nicht das in der auswahlliste, wo die Produktmerkmale (Größe, Farbe ect.) zugewiesen werden, es doppelte einträge gibt z.b die Farbe schwarz darf es nicht 2 mal geben sonder nur ein einziges mal.

    Leider würde bei der Erstellung der Produktmerkmale darauf nicht geachtet, und jetzt ist es so das es sehr viele Produktmerkmale doppelt in der auswahlliste auftauchen.

    Einen Kommentar schreiben:


  • Ricochet
    antwortet
    Erstmal alle doppelten einträge rausschmeißen. Ich nehme an du musst das manuell machen. (Einfacher wäre es natürlich sich nen kleinen query zu schreiben)

    Dann setzt du einen UNIQUE index über die Tabellenspalten die deinen Kriterien entsprechen (unique = einmalig)

    bsp: tabelle "produkte" => id, product_type, color_1, color_2

    Wenn ich dich richtig verstanden habe, dann willst du nicht, dass es mehrere Produkte mit der gleichen Farbkombination (oder was auch immer) gibt. Dazu setzt du den erwähnten UNIQUE index über die drei felder "product_type", "color_1" und "color_2".
    Das wars schon.

    Einen Kommentar schreiben:


  • Basti
    antwortet
    Zitat von Cyber Soldier
    also nochmal habe mich nicht richtig ausgedrückt
    ...das kann ich bestätigen. Ich zumindest verstehe immer noch nicht, was du meinst.

    Basti

    Einen Kommentar schreiben:


  • Cyber Soldier
    antwortet
    also nochmal habe mich nicht richtig ausgedrückt

    Verbieten
    farbe 1
    farbe 1

    Einen Kommentar schreiben:


  • Cyber Soldier
    antwortet
    Also ich meine mit Attributen die Farben, Größen, die unter den Produkten stehen

    Einen Kommentar schreiben:

Lädt...
X