Мне часто приходится проверять столбец таблицы перед выполнением обновления, вставки или удаления в mysql. Мне интересно, если это избыточно, потому что предложение mysql WHERE
уже является условием.
Пример:
Какой из двух методов наиболее эффективен и точен для обновления таблицы?
Выполните запрос, верните значение read
и используйте условие if
:
if (read == 0) //if user did not read message
{
UPDATE private_messages
SET read = 1
WHERE id = 48 //the unique, auto increment index
}
Или просто добавьте предложение WHERE AND
к запросу:
UPDATE private_messages
SET read = 1
WHERE id = 48
AND read = 0
и используйте mysql_affected_rows()
, чтобы определить, была ли обновлена строка.
Редактировать: Другая ситуация может быть удаление строки, если столбец имеет определенное значение. Должен ли я использовать if
условие или where
?