обновить уникальные данные без primary key

sergey_123

Новичок
обновить уникальные данные без primary key

попался мне недавно интерестный тест
вот собственно вопрос, с которым возникли проблемы

You are working with an instance of mysql server and updating data in tables without using primary key as identifier. Instead you are using a number of attributes and parameters that uniquely identify those records that you need (at least you truly believe so but you could be mistaken). You have to issue an update statement that can affect multiple records within table. What queries will you issue in order to perform your update with least possible risk for record corruption in case you are wrong. (you can use any technique within mysql, including creation of temporary tables).
как бы вы ответили на этот вопрос?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
sergey_123
я бы послал нахрен автора вопроса и сделал нужные мне для работы ключи. как-то так.
 

Gas

может по одной?
на странный вопрос, такие же ответы:

1. для innodb: update в транзакции, проверяем rows affected и сommit или rollback

2. для myisam: afaik, уникальный индекс для этого движка не эквивалент primary, по-этому делаем unique на связку полей и не паримся (условие задачи про primary не нарушено);

3. просто update ... limit 1 и будь что будет :)
 

sergey_123

Новичок
да знаю я что он странный и что послать бы автора куда подальше:)
но все же...
Gas
хорошие варианты. спасибо.

еще можно перед каждым update делать select с теми же условиями, и по этому уже смотреть
 
Сверху