выберите строки, затронутые обновлением

Если у меня есть таблица с этими полями:

int:id_account
int:session
string:password

Теперь для оператора входа в систему я запускаю эту команду sql UPDATE:

UPDATE tbl_name
SET session = session + 1
WHERE id_account = 17 AND password = 'apple'

Затем я проверяю, была ли затронута строка, и действительно ли она была Я знаю, что пароль был правильным.

Затем я хочу получить всю информацию об этой затронутой строке, чтобы у меня была информация об остальных полях.
Я могу использовать простую инструкцию SELECT, но я уверен, что здесь чего-то не хватает. Должен быть более аккуратный способ, которым вы знаете, и собираетесь рассказать мне о (:
Кроме того, это беспокоило меня с тех пор, как я написал первый SQL-оператор входа в систему.

Есть ли какой-либо способ с точки зрения производительности объединить SELECT в UPDATE, если UPDATE действительно обновлял строку?
Или мне лучше оставить это простым с два заявления? Атомарность не нужна, поэтому мне лучше держаться подальше от блокировок таблиц, нет?

5
задан Poni 1 December 2010 в 10:43
поделиться