Titel sagt alles.Fehler 1062, "doppelten Eintrag '[email protected]' für Schlüssel 'Email_UNIQUE'" auf leere Tabelle
Leere Tabelle mit folgender Erstellungssyntax, nur Tabelle in Datenbank.
CREATE TABLE IF NOT EXISTS `ACME`.`Registration` (
`ConfirmationNumber` INT NOT NULL AUTO_INCREMENT,
`FirstName` VARCHAR(45) NOT NULL,
`LastName` VARCHAR(45) NOT NULL,
`CompanyName` VARCHAR(100) NOT NULL,
`Title` VARCHAR(60) NOT NULL,
`Email` VARCHAR(60) NOT NULL,
`PhoneNumber` VARCHAR(20) NOT NULL,
`StreetAddress` VARCHAR(100) NOT NULL,
`City` VARCHAR(30) NOT NULL,
`Province` VARCHAR(30) NOT NULL,
`ZipCode` VARCHAR(10) NOT NULL,
`Country` VARCHAR(40) NOT NULL,
PRIMARY KEY (`ConfirmationNumber`),
UNIQUE INDEX `ConfirmationNumber_UNIQUE` (`ConfirmationNumber` ASC),
UNIQUE INDEX `Email_UNIQUE` (`Email` ASC),
UNIQUE INDEX `PhoneNumber_UNIQUE` (`PhoneNumber` ASC))
ENGINE = InnoDB
Alle Inserts erhalten diesen Fehler.
Ich habe versucht, mit und ohne 0 für die automatische Inkrementierung Bestätigungsnummer einfügen.
Ich denke, diese könnte etwas mit meiner Installation von MySQL zu tun haben, wie der (Mac) Systemeinstellungen zeigt, dass der Server läuft, aber wenn ich versuche, vom Terminal zu stoppen/starten, bekomme ich seltsame Fehler . Im Einzelnen:
$ mysql.server stop
ERROR! MySQL server PID file could not be found!
$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/rover-231-4.rovernet.mtu.edu.pid).
Obwohl Ich weiß, dass ich auf den richtigen Server anschließe (localhost) und Datenbank, da die Daten EINZUFÜGEN in der Registrierungstabelle bekommt.
Dies ist ein Python/MySQL/Flask -> HTML/CSS/JS-Stack, von denen ich alle neu bin. Python-Code einzufügen ist:
query_string = (
"INSERT INTO Registration "
"(FirstName, LastName, CompanyName, Title, Email, PhoneNumber, "
"StreetAddress, City, Province, ZipCode, Country) "
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);")
cursor.execute(query_string, (first_name, last_name, company, title, email, phone, address, city, state, zipcode, country))
EDIT: Ich sollte noch hinzufügen, dass, bis ich in ein Installationsproblem lief und musste neu installieren, die genau die gleiche Code funktioniert völlig in Ordnung.
Ich habe die gesamte Datenbank und/oder Tabelle gelöscht und umbenannt. Gleiche Ergebnisse. Ich habe nur den Server bei localhost und den Benutzer root definiert. Es ist nicht möglich, dass ich looping, da es keine Schleife in dem gesamten Programm gibt, und das ist der einzige Einfügebefehl, dem ein Ausdruck folgt. Es gibt noch keine Insert-Trigger, die definiert wurden, da die oben angegebene SQL-Anweisung das gesamte Skript zur Datenbankerstellung ist. Die E-Mail-Variable ändert sich definitiv, da die Verwendung eines anderen Werts im HTML-Feld den unterschiedlichen Wert des Fehlers ergibt. Es passiert auch für die Telefonnummer, wenn ich die E-Mail vollständig entferne. – unwrittenrainbow
Nun, das ist der Fehler, den wir bekommen, wenn eine eindeutige Schlüsselbedingung verletzt wird. Mein nächster Vorschlag ist, * die eindeutigen Indizes * zu entfernen und den Code auszuführen. Und dann überprüfen Sie den Inhalt der Tabelle, um zu sehen, ob sie Zeilen enthält. (Ich vermute, Sie werden zwei oder mehr Zeilen finden.) – spencer7593