Я столкнулся с странным поведением относительно обновления таблицы oxseo
в окислителе eshop 4.7.Повторяющаяся запись [...] для ключа «PRIMARY»
Таблица oxseo
имеет следующую схему:
+------------+---------+----------+----------+----------+----------+-------+
| OXOBJECTID | OXIDENT | OXSHOPID | OXLANGID | OXSTDURL | OXSEOURL | [...] |
+------------+---------+----------+----------+----------+----------+-------+
и имеет первичный (, что это также имя_раздела) ключ на полях:
+---------+----------+--------+
| OXIDENT | OXSHOPID | OXLANG |
+---------+----------+--------+
и я пытаюсь выполнить следующий SQL (заменили реальные значения фиктивными данными) через оболочку linux:
UPDATE oxseo
SET
OXIDENT = "8e4b0ac7[...]",
OXSEOURL = "my/seo/url/"
WHERE
OXOBJECTID = "123"`
что приводит к ошибке:
ERROR 1062 (23000): Duplicate entry '8e4b0ac7[...]-oxbaseshop-0' for key 'PRIMARY'`
Однако при поиске строки 8e4b0ac7[...]
во всей таблице, используя PhpMyAdmin нет строки, возвращенной. Несмотря на это, я проверил вручную, используя
SELECT * FROM field1 = hash
SELECT * FROM field2 = hash
и так далее.
У кого-нибудь есть идея, что может быть причиной?
Почему вы установили UNIQUE-ключ на поданный OXIDENT –
@DhavalBhavsar Спасибо за ваш задний вопрос. Он определяется разработчиками OXID eShop. Я не влияю на это. Несмотря на это, чтобы ответить на ваш вопрос хотя бы частично: 'OXIDENT' является хешем md5' OXSEOURL', который каким-то образом идентифицирует запись/seo url. – AMartinNo1
Почему я получил нижний план? Кто бы это сделал, что я сделал не так? – AMartinNo1