2017-05-29 1 views
1

Ich habe ein Live-Projekt mehr als 5 Jahre. Und heute hatte ich einen seltsamen Fehler. Ich wollte einige meiner Produkte aktualisieren. Und es gibt einen doppelten Eingabefehler.Weird Duplicate Entry Error auf Primärschlüssel

enter image description here

Ich habe kein Feld als product_id in meinen Produkten Tisch. 12479 ist ID von meinem Produkt. ID ist Primärschlüssel und automatisches Inkrement.

Erstens, ich denke, es kann ein Laravel-Problem sein. Ich frage mysql direkt über phpmyadmin ab. Das ist gleich. Aber nur für dieses Produkt.

Hier ist meine Indizes.

enter image description here

Hier ist meine Tabellenstruktur

enter image description here

ich auch meine db von plesk repariert. Nichts ändert sich. Manchmal funktioniert es richtig.

Fehler von phpMyAdmin

enter image description here

Und das seltsamste ist, trat dieser Fehler, wenn ich stock_quantity Feld aktualisieren. Ich kann andere Felder ohne Probleme aktualisieren.

bemerkte ich eine MySQL-Fehler während MySQL Bug Suche:https://bugs.mysql.com/bug.php?id=68360

Was sollte ich tun?

+0

Das sieht aus wie eine Lehre Fehler! Und die Felder, die es zu aktualisieren versucht, scheinen keine große Beziehung zu dem Tisch zu haben, den du zeigst. Wurde eine Doctrine-Klasse versehentlich geändert? –

+0

es ist nicht mit der Lehre verbunden. Denn beim Abfragen von phpmyadmin gleich Fehler. –

+1

Es sagt product_id nicht ID können Sie das versuchen? 'select * from (Tabelle du hast product_id) wo product_id = 12479' du hast wahrscheinlich product_id einzigartig gemacht, nachdem du Daten in die Tabelle gelegt hast, also hast du dort einen doppelten Eintrag –

Antwort

0

Ich löste Problem. (Mysql Fehlerbehandlung ist nicht gut. Beschreibungen müssen die Situation besser beschreiben)

Ich hatte einen Trigger für stock_quantity. Wenn ein Produkt ausverkauft ist und wieder auf Lager ist. Ich sende E-Mails an Kunden. In dieser Tabelle (products_notify) ist product_id eindeutig. Und die Produkte, die auf Produkte notify hat, schlägt fehl.

Danke @Rodrane

+0

' Mysql Fehlerbehandlung ist nicht gut' - nein, es ist gut. Sie haben Informationen über alles, die Tabelle, die Spalte, die Einschränkung, den Wert .. was mehr können Sie brauchen? Sie können das System nicht dafür verantwortlich machen, "schlecht" zu sein, wenn Sie nicht wissen, wie man Debug-Informationen verwendet. –

+0

Der Fehler: Eintrag 12479 für den Schlüssel 'product_id' doppelt Ich habe mehr als 30 Beziehungen mit Produkten product_id. Ich meine, welche Tabelle verursacht? Es fehlt. –

+0

Der, den Sie versucht haben, zu aktualisieren/einfügen, es ist nicht wie Sie mehr als eine Spalte mit demselben Namen in der Tabelle haben können. –

Verwandte Themen