nikolajdu Nybegynder
28. september 2007 - 09:18 Der er 7 kommentarer og
1 løsning

duplicate entry

Fodboldholdet side stoppede lige pludselig med at virke og viser nu bare "Duplicate entry '4603' for key 1"

Jeg har forsøgt at slette den eneste post jeg kunne finde med 4603 men lige lidt hjalp det og jeg har ingen idé om hvad der ellers er sket. Er der nogle der har et bud således at jeg kan pejle mig ind på det.

/Nikolaj
sherlock Nybegynder
28. september 2007 - 09:30 #1
Du må kunne lokalisere den linie den går ned i og finde ud af hvilken sql den vil udføre.

Hvis du er mindre interesseret i hvad der er galt, kan du starte med at køre en repair table og se om det ordner problemet. Eller slette og gen oprette det index der dækker over 'key 1'.
nikolajdu Nybegynder
28. september 2007 - 10:16 #2
problemet er jeg har ingen som helst idé om hvor Duplicate entry '4603' for key 1 kommer fra. Jeg er lige nu ikke interesseret i hvordan og hvorledes mere at det snart virker igen :)

Umiddelbart tænkte jeg et index men jeg har søgt via søg og slette den ene post med id 4603. Det hjalp ikke så alle gode råd til at finde en sådan fejl er velkomne. Jeg tager lige en backup og prøver så en repair så ser vi hvad der sker.
pidgeot Nybegynder
28. september 2007 - 10:25 #3
Jamen, hvis du ikke ved hvor det kommer fra, hvordan forventer du så at kunne finde problemet og løse det?

Du er nødt til at tilføje noget der giver dig mulighed for at se hvad der sker. Jeg går ud fra du bruger PHP, og gætter på at du lige nu bruger noget i denne stil for at køre dine queries:

mysql_query("INSERT INTO ...") or die(mysql_error());

Lav det sidste om til

or die(mysql_error().' ('.__FILE__.':'.__LINE__.')');

så kan du se hvilken fil og linje fejlen opstår i. Det giver dig dermed mulighed for at finde ud af hvilken SQL der bliver sendt afsted, og dermed kan du også se hvilken tabel der genererer denne duplicate key.

Hvis du har lavet separate funktioner til at foretage queryen, kan du evt. vælge at skrive queryen ud i stedet, eller sende fil- og linjenummer ind som parametre (der bruger du __FILE__ og __LINE__ i kaldet til funktionen, du kan ikke bruge metodedeklarationen).
nikolajdu Nybegynder
30. september 2007 - 00:48 #4
Først og fremmest: Jeg fik løst problemet :)

Dernæst konstaterer jeg at jeg ikke helt ved hvorfor. Jeg endte med at slette en tabel med statistik og genopbygge den i databasen. At det så lige var den tabel kom nu meget bag på mig. Den indeholder ip, dato, hvilken side der vises og søgninger gav intet resultat på "4603" meget meget mystisk.

pidgeot jeg har faktisk mysql_error på de fleste af mine queries problemet her var blandt andet at der kaldes almindeligt mange moduler før siden vises så og det er 2½ år siden jeg lavede det så jeg havde ingen idé og heller intet overblik over filerne. Jeg spurgte mest for måske var der nogle klogere hoveder der kunne gennemskue hvor det kunne gå galt. Jeg får tingene til at fungere men er i bund og grund i mysql noob :). Igen så var dit råd et godt et :)

Anyway kan I begge ikke smide et svar som tak for kigget. Hvorfor fandt jeg aldrig ud af men vigtigst - vi kører igen :
nikolajdu Nybegynder
30. september 2007 - 00:50 #5
pidgeot Jeg kendte ikke FILE LINE tricket det er værd at huske! Jeg plejer at gøre nogenlunde sådan her : or die("FEJL I funktion NAVN ".mysql_error()); men din ser mere effektiv ud :)
sherlock Nybegynder
30. september 2007 - 08:39 #6
Ingen point til mig. Godt du fik det løst :)
pidgeot Nybegynder
30. september 2007 - 11:32 #7
Du må da godt give lidt for det trick hvis du synes, men tag du bare hovedparten selv - du løste jo selv problemet :)

Og ja, det er lidt nemmere at have med at gøre når man skal fejlsøge - særligt hvis man i sin editor kan sætte en makro op til at tilføje det når man tryker på en tast. :)
nikolajdu Nybegynder
30. september 2007 - 23:48 #8
Det er absolut ganske smart - normalt har jeg nu ikke haft nogle problem med at finde fejlene selvom det er 20.000+ liniers kode. Hvis altså jeg bare havde rodet med det for nyligt og stadigt havde filerne i frisk erindring.

Tak for kiggene og tricks :)
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Energistyrelsen slår fast efter flere års ballade: Sådan bør kommuner og staten udregne prisen for udlejning af arealer til telemaster
Efter flere år med meget svingende priser vil Energistyrelsen med ny vejledning have ensartet de priser, som kommuner og staten tager for at udleje arealer til teleselskabernes mobilmaster. Styrelsen peger på tre forskellige beregningsmetoder, som alle kan anvende. Se den nye vejledning med tre forslag til beregning her.
Computerworld
Sikkerhedshul i sundhed.dk gør det let at snyde med coronapas
Et hul i sikkerheden hos sundhed.dk åbner op for, at coronapas-ejere kan ændre på de svar, der står i passet. Men det er dokumentfalsk, advarer sundhed.dks direktør.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
White paper
Sådan sikrer du hovednøglen til jeres data
80% af alle ransomwareangreb skyldes misbrug af privilegerede brugeradgange. Ved at begrænse og overvåge adfærden på de privilegerede konti samt kontrollere mængden af tildelte rettigheder kan du mindske skaden ved hackerangreb mod din virksomhed og i visse tilfælde helt blokere dem. Internt kan du bruge kontrollen med brugeradgange til at dokumentere, hvem der bevæger sig i hvilke systemer, og hvad der foregår derinde. Privilegeret brugerstyring har de seneste to år stået øverst på Gartners Top10-liste over it-sikkerhedsprojekter, der bør få højeste prioritet. Alligevel er teknologien kun så småt ved at finde fodfæste i Danmark. Det kan viden om åbenlyse gevinster, relativ kort implementeringstid og yderst rimeligt budget være med til at ændre på. I dette whitepaper folder vi temaet privilegeret brugerstyring ud og placerer teknologien i det væld af prioriteringer, som CISO’en hver dag skal foretage.