Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Doppelte Zeile in Tabelle - Duplikat lässt sich nicht löschen

  1. #1
    Erfahrener Benutzer
    Registriert seit
    08.02.2008
    Beiträge
    157

    Doppelte Zeile in Tabelle - Duplikat lässt sich nicht löschen

    Ich habe in der Winout Tabelle von einem Slot die Winout Zeile mit den Jackpot Werten und Gewinntopf Werten doppelt. Die Werte unterscheiden sich minimal aber wachsen in beiden Zeilen mit jedem Dreh an. Normalerweise sollte da nur eine Zeile sein. Das Problem ist nur das sich das Duplikat nicht löschen. Unter PHPMyAdmin kommt keine Fehlermeldung wenn ich die Zeile löschen möchte, aber es passiert auch nix. Der Befehl wird scheinbar ausgeführt aber danach ist noch alles beim alten. Im MySQLDumper wird wenigstens eine Fehlermeldung ausgegeben:

    Code:
    MySQL-ERROR   Fehler bei der Anfrage:
    
      DELETE FROM `xxxxxxxxxxx` WHERE `Array`='1' AND `Array`='20050000' AND `Array`='2810000' AND `Array`='1490000' AND `Array`='1425000' AND `Array`='1025000' AND `Array`='1100000' AND `Array`='27352.00' AND `Array`='1463700.00' AND `Array`='186052.00' AND`Array`='2145000.00' AND `Array`='267322.00' AND `Array`='885500.00' AND `Array`='551312.00' AND `Array`='660000.00' AND`Array`='222500.00' AND `Array`='220000.00' AND `Array`='290000.00' AND `Array`='880000.00' MySQL meldet:
    
    Unknown column 'Array' in 'where clause'


    Wie kann ich den Fehler beheben? Ich befürchte das wenn ein Jackpot gewonnen wird der Wert aus beiden Zeilen ausgeschüttet wird.

    Edit: Nach einem Update vom MySQLDumper wirft er keine Fehlermeldung mehr aus, aber das Problem bleibt das selbe. Wenn ich die Zeile editieren will kommt aber im PHPMyAdmin folgende Meldung: MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen).

  2. #2
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Gibt es ein Feld mit dem Namen Array?
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  3. #3
    Erfahrener Benutzer
    Registriert seit
    08.02.2008
    Beiträge
    157
    Eigentlich nicht. Die Struktur sieht folgendermaßen aus:

    Code:
    CREATE TABLE IF NOT EXISTS `xxxxxxx_winout` (
      `slotid` int(10) NOT NULL default '0',
      `jackpot1` int(20) NOT NULL default '0',
      `jackpot2` int(20) NOT NULL default '0',
      `jackpot3` int(20) NOT NULL default '0',
      `jackpot4` int(20) NOT NULL default '0',
      `jackpot5` int(20) NOT NULL default '0',
      `jackpot6` int(20) NOT NULL default '0',
      `winout1` double(20,2) NOT NULL default '0.00',
      `winout2` double(20,2) NOT NULL default '0.00',
      `winout3` double(20,2) NOT NULL default '0.00',
      `winout4` double(20,2) NOT NULL default '0.00',
      `winout5` double(20,2) NOT NULL default '0.00',
      `winout6` double(20,2) NOT NULL default '0.00',
      `winout7` double(20,2) NOT NULL default '0.00',
      `winout8` double(20,2) NOT NULL default '0.00',
      `winout9` double(20,2) NOT NULL default '0.00',
      `winout10` double(20,2) NOT NULL default '0.00',
      `winout11` double(20,2) NOT NULL default '0.00',
      `winout12` double(20,2) NOT NULL default '0.00',
      KEY `slotid` (`slotid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
    --
    -- Daten für Tabelle `xxxxxxx_winout`
    --
    
    INSERT INTO `xxxxxxx_winout` (`slotid`, `jackpot1`, `jackpot2`, `jackpot3`, `jackpot4`, `jackpot5`, `jackpot6`, `winout1`, `winout2`, `winout3`, `winout4`, `winout5`, `winout6`, `winout7`, `winout8`, `winout9`, `winout10`, `winout11`, `winout12`) VALUES
    (1, 21249500, 2855000, 1490000, 1425000, 1025000, 1100000, 27223.00, 19183400.00, 159760.00, 2172000.00, 267322.00, 885500.00, 551312.00, 660000.00, 222500.00, 220000.00, 290000.00, 880000.00),
    (1, 21232000, 2855000, 1490000, 1425000, 1025000, 1100000, 27223.00, 2172900.00, 159760.00, 2172000.00, 267322.00, 885500.00, 551312.00, 660000.00, 222500.00, 220000.00, 290000.00, 880000.00);
    Ich verstehe einfach nicht warum ich die doppelte Zeile nicht löschen bzw. editieren kann.

  4. #4
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    DELETE FROM `xxxxxxxxxxx` WHERE `Array`='1' AND `Array`='20050000' AND `Array`='2810000' AND `Array`='1490000' AND `Array`='1425000' AND `Array`='1025000' AND `Array`='1100000' AND `Array`='27352.00' AND `Array`='1463700.00' AND `Array`='186052.00' AND`Array`='2145000.00' AND `Array`='267322.00' AND `Array`='885500.00' AND `Array`='551312.00' AND `Array`='660000.00' AND`Array`='222500.00' AND `Array`='220000.00' AND `Array`='290000.00' AND `Array`='880000.00' MySQL meldet:
    Wieso hast du dann in der WHERE Bedingung ein Feld Array drin? Ich vermute mal du setzt den query in php zusammen und nutzt statt einer variablen irgendwo ein Array.

    Gruß
    Gremlin
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  5. #5
    Erfahrener Benutzer
    Registriert seit
    08.02.2008
    Beiträge
    157
    Nope, ich versuche die doppelte Zeile direkt im PHPMyAdmin zu löschen, was nicht funktioniert. die PHP Zugriffe funktionieren ja, nur das halt in beide Zeilen gleichzeitig geschrieben wird wenn am Slot gespielt wird. Das Array kam vom MySQLDumper den ich aber nur in Betrieb genommen hatte weil ich im MyAdmin nicht weitergekommen bin.

    Edit: Ich habe das Problem jetzt provisorisch gelöst indem ich die komplette betroffene Tabelle gelöscht und neu angelegt habe.

  6. #6
    Erfahrener Benutzer Avatar von dragon11
    Registriert seit
    06.07.2006
    Beiträge
    320
    Zitat Zitat von Frejia Beitrag anzeigen
    Nope, ich versuche die doppelte Zeile direkt im PHPMyAdmin zu löschen, was nicht funktioniert. die PHP Zugriffe funktionieren ja, nur das halt in beide Zeilen gleichzeitig geschrieben wird wenn am Slot gespielt wird. Das Array kam vom MySQLDumper den ich aber nur in Betrieb genommen hatte weil ich im MyAdmin nicht weitergekommen bin.

    Edit: Ich habe das Problem jetzt provisorisch gelöst indem ich die komplette betroffene Tabelle gelöscht und neu angelegt habe.

    eine Lösung wäre gewesen: in der 2. Zeile die Slotid auf 2 zu setzen, danach genau diesen Satz löschen.
    mfg
    dragon11

  7. #7
    Erfahrener Benutzer
    Registriert seit
    08.02.2008
    Beiträge
    157
    Zitat Zitat von dragon11 Beitrag anzeigen
    eine Lösung wäre gewesen: in der 2. Zeile die Slotid auf 2 zu setzen, danach genau diesen Satz löschen.
    Ich konnte die Tabelle ja auch nicht editieren und genau das Problem tritt jetzt schon wieder auf. Ich habe zwar jetzt nur so wie es sein sollte eine Zeile in der Tabelle, aber die lässt sich wieder nicht mehr editieren.

  8. #8
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    mach mal

    REPAIR TABLE tablename;

    Gruß
    Gremlin
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  9. #9
    Erfahrener Benutzer Avatar von dragon11
    Registriert seit
    06.07.2006
    Beiträge
    320
    es ist sowieso sehr fraglich, wie es passieren konnte, dass der Satz doppelt rein kommt, wenn von anfang an:
    KEY `slotid` (`slotid`)

    gesetzt war. Am besten wäre es vielleicht, die Tabelle zu löschen und
    sie neu anzulegen, die Werte hast du ja, achte darauf dass der key primery ist.

    Sollte das alles nicht helfen, melde dich per icq heute abend mal bei mir.
    mfg
    dragon11

  10. #10
    Erfahrener Benutzer
    Registriert seit
    08.02.2008
    Beiträge
    157
    mach mal

    REPAIR TABLE tablename;

    Gruß
    Gremlin
    Habe ich gemacht, ändert leider nichts am Problem.


    Zitat Zitat von dragon11 Beitrag anzeigen
    es ist sowieso sehr fraglich, wie es passieren konnte, dass der Satz doppelt rein kommt, wenn von anfang an:
    KEY `slotid` (`slotid`)
    gesetzt war.
    Das war wie gesagt auf einen Missglückten Versuch ein Backup der Tabelle einzuspielen zurückzuführen.

    Zitat Zitat von dragon11 Beitrag anzeigen
    Am besten wäre es vielleicht, die Tabelle zu löschen und
    sie neu anzulegen, die Werte hast du ja, achte darauf dass der key primery ist.
    Das hatte ich ja gestern schon gemacht, nur das der Key auf INDEX steht. Wenn ich das auf Primary setzen will heißt das ganze auch zwangsläufig nicht mehr Slot ID sondern ebenfalls Primary.
    Auch ohne den Key hat die Tabelle ja gestern kurz ihren Dienst getan, aber nach 5 Minuten wieder angefangen zu spinnen. Nachdem jetzt auch die doppelte Zeile weg ist, ist die Fehlfunktion nicht mehr ganz so dramatisch, die Gewinnausschüttung und der Fall der JP´s läuft soweit ich das sehen kann normal und ich bin die Gamelogs genau durchgegangen.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Mysql eintrag lässt sich nicht löschen ?
    Von Kraemer84 im Forum Support zum VMSone
    Antworten: 3
    Letzter Beitrag: 20.05.2010, 14:39
  2. Subdomain lässt sich nicht freischalten
    Von Kraemer84 im Forum [HD] Grafik, Server & Sonstiges
    Antworten: 7
    Letzter Beitrag: 02.04.2010, 16:22
  3. Seite lässt sich nicht mit IE öffnen
    Von word10 im Forum Support zum VMSone
    Antworten: 6
    Letzter Beitrag: 18.03.2008, 15:27
  4. Userprofil lässt sich nicht ändern
    Von wildbiker im Forum Support zum VMSone
    Antworten: 7
    Letzter Beitrag: 22.11.2007, 14:31
  5. Seite lässt sich nicht aufrufen
    Von dragon11 im Forum Support zum VMSone
    Antworten: 9
    Letzter Beitrag: 30.12.2006, 04:21

Berechtigungen

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