Problem rozwiązany na innym forum. "Wydaje mi się, że coś nie tak macie z polem `cover` w tabelach `PREFIX_image` i `PREFIX_image_shop`.
Powinno to być pole `cover` tinyint(1) UNSIGNED NULL DEFAULT NULL,
I sprawdżcie indexy UNIQUE KEY w tych dwóch tabelkach.
Tu szczegóły jak to powinno wyglądać prawidłowo:"
CREATE TABLE `PREFIX_image` (
`id_image` int(10) unsigned NOT NULL auto_increment,
`id_product` int(10) unsigned NOT NULL,
`position` smallint(2) unsigned NOT NULL DEFAULT '0',
`cover` tinyint(1) unsigned NULL DEFAULT NULL,
PRIMARY KEY (`id_image`),
KEY `image_product` (`id_product`),
UNIQUE KEY `id_product_cover` (`id_product`,`cover`),
UNIQUE KEY `idx_product_image` (`id_image`, `id_product`, `cover`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION;
CREATE TABLE `PREFIX_image_shop` (
`id_product` int(10) unsigned NOT NULL,
`id_image` INT( 11 ) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
`cover` tinyint(1) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`id_image`, `id_shop`),
UNIQUE KEY `id_product` (`id_product`, `id_shop`, `cover`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION;