Есть запрос:
UPDATE `table` SET `category` = '0' WHERE `category` = '1' AND `id` NOT IN (SELECT `id` FROM `table` WHERE `category` = '0')
То есть нужно по возможности сменить category c 1 на 0, но только для тех записей, где category не равно 0, чтобы не было дублей.
Таблица состоит из id и category, индекс PRIMARY на две колонки. Нужен вариант который подойдет к большинству SQL БД. Думал с FULL OUTER JOIN, но MySQL такое не поддерживает, с UNION будет медленно.