У меня есть список клиентов, содержащий несколько номеров. Разные клиенты могут делить эти числа между собой (один клиент может «одолжить» некоторые из своих номеров другому), но если «заемщик» будет удален, он должен вернуть эти числа.
Моя структура таблицы выглядит так:
id | client | range_num_up | range_num_down | ... | former
Я пытаюсь достичь вот что:
- если присвоенные клиенту номера не имели прежних: удалите их из базы данных
- иначе номера должны быть присвоены первому еще раз
Мне известны операторы SELECT IF в mySQL, но я не совсем уверен, как связать их вместе с одним запросом.
Я уже пробовал что-то вроде:
SELECT IF(former is NULL, '', former) former FROM numbers_pool WHERE id = 3
Который возвращает мне имя бывшего владельца номеров. Теперь я хотел бы использовать эту информацию для обработки запроса. То, что я изображаю по следующему сценарию:
if reply == '' {
DELETE THAT ENTRY
}
else {
UPDATE THE NAME OF THE CLIENT WITH RECEIVED FORMER
}
Любые советы и помощь приветствуется.
@ редактировать
Если быть точным: я знаю, что вы можете УДАЛИТЬ, но это все еще не охватывает второй сценарий, в котором я хотел бы обновить эту запись. Поэтому я ищу решение с одним запросом.