Ich habe ein seltsames Verhalten bezüglich der Aktualisierung der Tabelle oxseo
in einem Oxid-Eshop 4.7.Doppelte Eingabe [...] für Schlüssel 'PRIMARY'
Die Tabelle oxseo
hat folgendes Schema:
+------------+---------+----------+----------+----------+----------+-------+
| OXOBJECTID | OXIDENT | OXSHOPID | OXLANGID | OXSTDURL | OXSEOURL | [...] |
+------------+---------+----------+----------+----------+----------+-------+
und hat eine primäre (, dass auch die keyname ist) auf den Feldern Schlüssel:
+---------+----------+--------+
| OXIDENT | OXSHOPID | OXLANG |
+---------+----------+--------+
und ich versuche folgende SQL ausführen (ersetzt echte Werte mit Dummy-Daten) über die Linux-Shell:
UPDATE oxseo
SET
OXIDENT = "8e4b0ac7[...]",
OXSEOURL = "my/seo/url/"
WHERE
OXOBJECTID = "123"`
, die zu dem Fehler führt:
ERROR 1062 (23000): Duplicate entry '8e4b0ac7[...]-oxbaseshop-0' for key 'PRIMARY'`
Wenn jedoch für die Zeichenfolge 8e4b0ac7[...]
in der ganzen Tabelle schauen, um die phpMyAdmin dort verwendet, ist keine Zeile zurückgegeben. Trotzdem habe ich manuell unter Verwendung
SELECT * FROM field1 = hash
SELECT * FROM field2 = hash
und so weiter überprüft.
Jeder hat eine Idee, was die Ursache sein könnte?
warum Sie UNIQUE Schlüssel auf archivierte OXIDENT setzen –
@DhavalBhavsar Danke für Ihre Rückfrage. Es wird von den OXID eShop-Entwicklern definiert. Ich habe keinen Einfluss darauf. Trotzdem, um Ihre Frage zumindest teilweise zu beantworten: 'OXIDENT' ist ein MD5-Hash von' OXSEOURL', der die Record/SEO-URL in irgendeiner Weise identifiziert. – AMartinNo1
Warum habe ich einen Downvote bekommen? Wer hat das getan, was habe ich falsch gemacht? – AMartinNo1