ОБНОВЛЕНИЕ: Ответ на вопрос, см. Magento Catalog Search Query Constraint Error для моего последующего вопроса.Magento Каталог Поиск Запрос Пояснение
Я получаю ошибки ограничения внешнего ключа при выполнении определенных поисков в каталоге Magento. Вот запрос, что причина того, что:
INSERT INTO `catalogsearch_result`
(
SELECT
'0',
`s`.`product_id`,
-(
(MATCH(`s`.`data_index`) AGAINST ('ip335')) +
(5 * (MATCH(`s`.`data_index_1`) AGAINST('ip335'))) +
(3 * (MATCH(`s`.`data_index_2`) AGAINST('ip335'))) +
(2 * (MATCH(`s`.`data_index_3`) AGAINST ('ip335')))
)
FROM `mikkelrickycatalogsearch_fulltext` AS `s`
INNER JOIN `catalog_product_entity` AS `e`
ON `e`.`entity_id`=`s`.`product_id`
WHERE
(
(`s`.`data_index` LIKE '%ip335%')
)
AND `s`.`store_id`='2'
)
ON DUPLICATE
KEY UPDATE `relevance` = VALUES(`relevance`);
Мы используем расширение MikkelRicky_CatalogSearch
, но даже основной код поиска производит аналогичный запрос (INSERT/ON DUPLICATE KEY
).
Я пытаюсь понять этот ТИП запроса в SQL. Я просто не понимаю, как работают инструкции INSERT с DUPLICATE KEY UPDATE. Может ли кто-нибудь дать некоторые практические объяснения? Благодаря!
, если MySQL видит, что ключи 'query_id' и' 'product_id' из catalogsearch_result' дублируют, чем обновления антивирусных ядер MySQL value 'релевантность = VALUES ('релевантность');' вместо вставки – P0ZiTR0N
Отлично, это имеет смысл. Спасибо @ P0ZiTR0N. Пожалуйста, опубликуйте это как ответ, чтобы я мог дать вам кредит. Теперь я могу задать следующий вопрос (см. Мое редактирование) об ошибке ограничения. –