Если я правильно вас понимаю, что-то вроде этого должно работать:
update books set popularity=? where author=? and title=?
... где ?
- заполнитель.
Редактировать: Согласно вашему комментарию, вы хотите создать его, если он не существует, и обновить его, если он существует.Я не думаю, что вы можете сделать это с одним утверждением, но я могу ошибаться.В двух утверждениях вы можете использовать это, чтобы проверить, существует ли оно уже:
select count(*) from books where author=? and title=? limit 1
Это вывело бы 1, если оно существует, или 0, если его нет.Оттуда вы можете выбрать, вставлять или обновлять.