+ Antworten
Ergebnis 1 bis 6 von 6

Thema: MySQL-Kompatibilität; Duplicate entry (1062)

  1. #1
    Neu an Board
    Registriert seit
    10.02.2006
    Beiträge
    3
    Bedankte sich
    0
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Ausrufezeichen MySQL-Kompatibilität; Duplicate entry (1062)

    Hallo,

    viele Threads im Forum beziehen sich mit Varianten eines grundsätzlichen Problems welches evtl. mit der MYSQL-Versions-Kompatibilität von Joomla zusammenhängt.
    In vielen Kontexten (Adminuser hinzufügen, Statische Themen hinzufügen, phpBB, simpleboard, Community Builder usw.) tritt unter bestimmten Voraussetzungen die Fehlermeldung "Duplicate entry '%s' for key %d" auf (MYSQL-Fehler Nr.1062) auf.

    Ich befasse mich aktuell mit der Fehlersuche und möchte hier einige Ergebnisse und Überlegungen in die Runde posten, da ich noch nicht zu einer befriedigenden Lösung gekommen bin. - Vieleicht finden wir gemeinsam die Ursache des Problems!

    Ich habe beim Studieren der Postings den Eindruck, dass MySQL-Versionen <=3.23.x das Problem verursachen. Ich m&#246;chte nur ungern die MySQL Version des Produktivsystems von 3.23.49 auf >4.x &#228;ndern, in meinem Falle ginge dies, aber den meisten Usern ist dies wohl nicht ohne weiteres m&#246;glich.

    Beim Debuggen wird f&#252;r den Fall der AdminUser-Registrierung folgendes SQL-INSERT-Statement von Joomla generiert:

    INSERT INTO jos_users ( `id`,`name`,`username`,`email`,`password`,`usertyp e`,`block`,`sendEmail`,`gid`,`registerDate`,`param s` ) VALUES ( \'0\',\'test\',\'test\',\'me@you.de\',\'2a188474d0 b80ffb7a6de342d9affff\',\'Super Administrator\',\'0\',\'0\',\'25\',\'2006-02-23 13:01:58\',\'editor=\' )')

    Die Fehlerursache ist hier nachvollziehbar, da f&#252;r das Feld id der Wert '0' ge-INSERTet wird, der sich schon in der Tabelle befindet.

    Fragen:

    1. Warum ensteht das Problem offenbar auf MySQL 3.23.x und tritt mit MySQL-Versionen >=4<=5 (sonst identische DB-Inhalte und Joomla!) auf?

    2. Wie kommt der falsche Wert f&#252;r id (s.o.) in der INSERT-Klausel zu Stande? Ich kann kaum glauben, dass das Problem systematisch ist, da ja sehr viele Komponenten betroffen w&#228;ren.

    3. Kennt jemand eine Konfiguration f&#252;r MySQL die tolerant mit "Duplicate entry" umgeht? Das k&#246;nnte hei&#223;en, dass es ein Joomla-Bug ist, der nur nicht immer auff&#228;llt da die MYSQL-Engine das Problem behebt.

    Ich werde mich jetzt weiter mit dem Problem befassen und hoffe, das es Entwickler gibt, die hier mitdiskutieren....

    Gruss,
    uwus

  2. Erhielt Danksagungen von:


  3. #2
    Neu an Board
    Registriert seit
    10.02.2006
    Beiträge
    3
    Bedankte sich
    0
    Erhielt 2 Danksagungen
    in 2 Beiträgen

    Standard

    ...ich habe das Problem jetzt zu Fu&#223; gefunden!!!

    Im Prinzip viel Rauch um Nichts. Bei genauer &#220;berpr&#252;fung (viel &#252;ber die Architektur von Joomla gelernt HEHE) hat sich heraus gestellt, dass bei keiner meiner Datenbanktabellen die id-Spalten auf AUTO-INCREMENT stehen!! Keine Ahnung wie das zu Stande kommt.
    Ohne ids l&#228;uft nat&#252;rlich nichts und zuerst entsteht dann also in der Datenbankklasse database, beim Zugriff auf den zuletzt gespeicherten id-Wert &#252;ber mysql_insert_id(), der Crash.

    Falls also jemand &#228;hnliche Probleme hat: Es lohnt sich die Tabellenstrukturen auf auto_increment zu &#252;berpr&#252;fen

    .... M&#252;hsam ern&#228;hrt sich das Eichh&#246;rnchen.
    Geändert von uwus (23.02.2006 um 17:08 Uhr)
    Sie haben zwar die Uhren... aber wir haben die Zeit!

  4. #3
    Neu an Board
    Registriert seit
    14.03.2006
    Beiträge
    5
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Frage

    Kurze beschreibung wie ich auto_increment wieder so hinbekomme?
    Bzw eine kleine beschreibung?
    wäre super freundlich von dir da ich leider nicht all zu große ahnung von der mysql oberfläche im phpmyadmin habe.

    Gruß Boris


    OH Peinlich.... ID anklicken und unter Extra auf auto_increment stellen.
    Is ja noch früh am morgen...
    Geändert von Boris W. (20.03.2006 um 04:23 Uhr)

  5. #4
    Gesperrt
    Registriert seit
    03.05.2005
    Ort
    joomlers.de
    Beiträge
    4.695
    Bedankte sich
    124
    Erhielt 989 Danksagungen
    in 941 Beiträgen

    Standard

    nicht alle tabellen, die ein feld id enthalten, bekommen ein auto_increment verpasst. vorlage sollte das original-installations-file sein, was sich unter /installation/sql/joomla.sql in dem entpackten joomla befindet. die #_users hat übrigens enge beziehungen zu anderen tables, die boardsuche hilft. notfalls stehts in der install4.php in /installation.

    www.joomla-support.de

  6. #5
    Neu an Board
    Registriert seit
    24.02.2006
    Ort
    Karlsruhe
    Beiträge
    29
    Bedankte sich
    1
    1 Danksagung in 1 Beitrag

    Standard vielen dank

    super...
    vielen Dank für den Artikel...
    hat mir sehr weitergeholfen - hatte auch ewig nach der ursache gesucht!!

    greetz ele

  7. #6
    Neu an Board
    Registriert seit
    20.07.2006
    Beiträge
    6
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Danke mir hat es auch geholfen Bei mir lag der verschwundene Auto Increment glaube ich daran, dass ich vom lokalen XAMPP nen MySQL - Dump gemacht hab mit 3.23.- Kompatibilität und diesen dann auf den Webserver hab.
    Geändert von AndreasB (08.08.2006 um 02:21 Uhr)

+ Antworten

Ähnliche Themen

  1. Duplicate entry ?
    Von robsta im Forum Allgemeine Fragen zu Mambo
    Antworten: 3
    Letzter Beitrag: 10.02.2005, 21:14

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein