Я предполагаю, что должен быть стол игрока?Если это так, вы можете использовать следующее ...
(Это в синтаксисе MS SQL Server, но логика должна сохраняться в MySQL.)
UPDATE
Images
SET
Primary = 1
FROM
Player
INNER JOIN
Image
ON Image.ID = (SELECT MIN(lookup.ID) FROM Image AS lookup WHERE lookup.playerID = Player.ID)
WHERE
NOT EXISTS (SELECT 1 FROM Image AS lookup WHERE lookup.playerID = Player.ID AND lookup.Primary = 1)
Это сознательно выбирает изображение с самым низким идентификатором, чтобы установить в качестве основного.Измените коррелированный подзапрос для реализации другой логики.
EDIT
Версия, которая не использует таблицу Player, но, возможно, медленнее (потребуется тестирование)....
UPDATE
Image
SET
Primary = 1
WHERE
ImageID = (SELECT MIN(lookup.ID) FROM Image AS Lookup WHERE lookup.PlayerID = Image.PlayerID)
AND NOT EXISTS (SELECT 1 FROM Image AS Lookup WHERE lookup.PlayerID = Image.PlayerID AND lookup.Primary = 1)