SQL Chaos bei Blogroll

  • Irgendwie hat sich bei einem meiner Blogs ein Fehlerteufel eingenistet und zwar in der Datenbank.

    Wenn ich im Blogroll einen neuen Link generiere, so wird dieser wie gewohnt in die Datenbank mit aufgenommen. Sobald aber anschließend ein zweiter Link dazu kommt, ist es vorbei. ICh erhalte eine SQL Fehlermeldung. Den Grund dafür habe ich bereits gefunden, das Problem zu lösen jedoch bisher noch nicht geschafft.

    Folgendes ist der Stand der Dinge...
    Ich habe bisher 9 Links in der Tabelle "wp_links", sie alle besitzen aber keine durchlaufenden Link IDs, da ich immer mal wieder Links gelöscht habe. Link Kategorien sind 4 Stück vorhanden, nummeriert mit der ID 1,3,4 und 5.

    Das sieht in Natura derzeit so aus:
    [Blockierte Grafik: http://media.com-2-mac.de/public/pics/ZZ3932B3EA.jpg]

    In der Tabelle "wp_terms" sind IDs von 1 - 13 vergben, es fehlt nur die ID 10.
    [Blockierte Grafik: http://media.com-2-mac.de/public/pics/ZZ04525830.jpg]

    Bei der Tabelle term_taxonomy_id wirds dann ein wenig chaotisch wie ich finde, obwohl die Bezüge nach überprüfung alle stimme. Ebenso wie der jeweilige Counter
    [Blockierte Grafik: http://media.com-2-mac.de/public/pics/ZZ2CD48237.jpg]

    Und auch bei der (soweit ich es richtig sehe) letzten Tabelle "wp_term_relationships" sieht der Bezug zur object id und term_traxomy_id eigentlich ok aus...
    [Blockierte Grafik: http://media.com-2-mac.de/public/pics/ZZ46A7F3E2.jpg]

    Sobald ich nun aber einen neuen Link via Wordpress einfüge, wird in der Tabelle ein kleines Chaos gestartet. Er vergibt in der "wp_links" Tabelle die ID 0 für den neuen Link, das selbe Spiel auch bei der Tabelle "wp_term_relationships". Die Kategoriezuweisund geschieht richtig. Wenn ich nun einen weiteren Link hinzufüge, würde er gerne erneut die 0 vergeben, kommt aber zu einem Konflikt mit der bereits vorhandenen ID, was dann so ausschaut:

    WordPress database error: [Duplicate entry '0' for key 1]
    INSERT INTO wp_links (link_url, link_name, link_image, link_target, link_description, link_visible, link_owner, link_rating, link_rel, link_notes, link_rss) VALUES('http://testrun.com','testrun.com', '', '', '', 'Y', '1', '0', '', '', '')

    Kann jemand den Fehler sehen oder mir einen Tipp geben, wie ich das Problem löse? Ich kann schlecht die ganze Datenbank neu aufsetzen, da es ein laufender Blog ist. Ich kann jedoch damit leben die Links zu löschen und neu ein zu geben. Ich habe das auch schon versucht über die Datenbank zu lösen (zuvor natürlich mit einem SQL Dump) doch er kriegt das scheinbar nicht gebacken wegen der vorhandenen IDs der Blogbeiträge etc.

    MfG Kampf Katze

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich habe erst später begonnen Testweise Links über das SQL zu entfernen. Normaler weise mache ich dies natürlich über den Adminbereich.

    Ich fürchte nur, das beim umziehen oder umschichten etwas durcheinander geraten ist. Ganz ausschließen kann ich also ein gezieltes Löschen über die Datenbank auch nicht. Der Fehler kann ja aber eigentlich nur bei einem Zähler liegen. Doch ich habe bisher noch keinen "Count" Befehl gefunden für die Tabelle wp_term_relationships" (Für die Spalte objekt_id) oder bei WP Links für die Spalte "link_id".

    Eigentlich sollte die Datenbank ja den Befehl haben, bei der letzten Zahl weiter zu machen die im bekannt ist. Ein Neuer Link sollte also die link_id 29 bekommen und die object_id 137

    MfG Kampf Katze

  • count? count zählt die anzahl der tupel, wenn ich mich recht erinnere.
    Damit kann man nicht den Zähler zurücksetzen.

    Man könnte die entsprechende tabelle als dump auslesen. diese dann löschen und dann neu erzeugen. Wenn aber die IDs nicht passen, bringt das auch nicht unbedingt was.

    Syntronica Le coeur est le moteur du corps, mais le cerveau est le moteur de la vie.

  • Gut, Count gibt einfach die Zahl für die Einträge in den Kategorien an, was dann im Adminbereich zu sehen ist.

    Dennoch ist halt irgendwo der Wurm drin. Ich kann es ja in der Datenbank fröhlich fixen und die IDs weitestgehend anpassen (die Kategorien etc. sind mir ja als ID bekannt), dennoch eine ziemlich merkwürdige Sache. Irgendwas muss ich übersehen. Sonst würde er in den genannten Tabellen ja nicht bei der link_id (wp_links) und object_id (wp_term_relationships) mit 0 beginnen. Irgendwo muss ja eine Info liegen, wo er weiter zählen sollte für die korrekte Vergabe.

    Ich habe nun auch noch einmal versucht einfach die ganzen betroffenen Kategorien und Links aus den Tabellen zu löschen. Der Fehler bleibt. Lösche ich den "Fehlerhaften" Eintrag, wird er auch völlig korrekt aus der Datenbank entfernt. Nur eben der nachfolgende Link den ich eintrage, der verpufft im Nirvana mit einer Fehlermeldung.

    MfG Kampf Katze

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!