Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 11497|Antwoord: 0

[Bron] mysql #1062 – Dubbele invoer '1' voor sleutel 'PRIMARY'

[Link kopiëren]
Geplaatst op 15-11-2017 13:22:06 | | |

Onlangs heb ik VPS weggegooid, en ik kwam net de keer tegen dat ik de database importeerde tijdens het verplaatsen van WordPress. Ik heb elkaar ontmoet

#1062 – Dubbele invoer '1' voor sleutel 'PRIMARY'

Op dat moment had ik haast, ik had alle originele gegevens verwijderd en had geen andere keuze dan de almachtige Baidu te vragen. Ik heb het grootste deel van de dag gezocht en uiteindelijk vond ik het voor mezelf. Opgewonden, test het meteen, O(∩_∩)O haha~ Succes.

Nu is er een oplossing bijgevoegd: wis gewoon de originele oude data en importeer die.

Ik begrijp het principe niet, dus steek het op en kijk zelf. Hoe dan ook, het is oké om het doel te bereiken.

"Tip #1062 – Dubbele invoer '1' voor sleutel 'PRIMARY', ik kwam er later achter dat de laatste keer dat de limiet werd overschreden gedeeltelijk is geïmporteerd, en de id is de hoofdsleutel, het kan niet hetzelfde zijn, dus het werkt niet, verwijder alle oude data en je kunt doorverwijzen."

Ik wil de blogger ook bedanken voor het publiceren van de oplossing. Anders krijg ik problemen."

Origineel

Het probleem dat vandaag is tegengekomen is heel eenvoudig, maar ook heel gebruikelijk, en ik zal het hier vastleggen:
Importeer data van de ene machine naar de andere, dus er zijn te veel records, ik lette eerst niet op, overschreed de limiet van phpmyadmin, de prompt was fout, ik heb het bestand handmatig in kleine bestanden verdeeld, maar toen werd #1062 - Dubbele invoer '1' voor sleutel genoemd. PRIMARY', en later ontdekte ik dat de laatste keer dat de limiet werd overschreden deels was geïmporteerd, en dat de id de primaire sleutel is, wat niet hetzelfde kan zijn, dus het kan niet, verwijder alle oude data en je kunt opnieuw doorsturen.

OK. Als je hetzelfde probleem hebt als ik, probeer het dan nu. Ik weet niet of ik het niet probeer


Mysql maakt een back-up van de gegevens, herstelt en antwoordt, en de volgende foutcode verschijnt:
Discuz! info: MySQL Query Error

User: webcull
Time: 2008-7-10 2:20pm
scrip{filter}t. /post.php

SQL: INSERT INTO [Table]posts (fid, tid, first, author, authorid, subject, dateline, message, useip, invisible, anonymous, usesig, htmlon, bbcodeoff, smileyoff, parseurloff, attachment)
WAARDEN ('45', '2727', '0', 'webcull', '6', '', '1216707030', 'ddd', '192.168.253.1', '0', '0', '0', '0', '-1', '-1', '', '0')
Error: Duplicate entry '2678' for key 1
Errno.: 1062


Redenen voor online zoekanalyse:
Het kan zijn dat het veld PID de primaire sleutel en auto_increment attribuut is, en dat er geen dubbele waarden kunnen zijn.
En toen ik mijn data back-upte, kon er een data-write zijn die de datatabel brak.


Een paar methoden geprobeerd:
1. Sommige veldattributen van de datatabel ontbreken ALTER TABEL 'cdb_posts' VERANDER 'pid' 'pid' INT( 10 ) ONGETEKEND NIET NUL AUTO_INCREMENT
2、Reparatietafel cdb_posts
Alles mislukt!


Laatste oplossing:
Over het algemeen wordt het veroorzaakt door corruptie van datatabelbestanden, die kan worden hersteld met MySQL's reparatietool myisamchk.
cmd
myisamchk cdb_posts.myi -r
Repareer het datasheet en je bent klaar!




Vorig:Juli 2017 WIN7\XP· GHOST System Download Encyclopedie! Updates gaan door, spannend!
Volgend:Leer je hoe je Myisamchk gebruikt voor crashherstel MySQL
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com