Большинство комментаторов пытаются сказать, что ваша проблема очень распространена при хранении сериализованных данных в БД (например, в строках JSON). Именно поэтому это считается плохой практикой.
Все замечательные инструменты реляционных баз данных, такие как индексация, сортировка, группировка и запросы по любому столбцу, исчезают, когда данные сохраняются в виде большой кучи символов, которые БД не может проанализировать.
Решение состоит в том, чтобы сохранить фактические данные в БД и отформатировать их как JSON только на стороне приложения, для использования при необходимости.
В вашем случае вы можете создать таблицу типа hotels_to_users (я делаю некоторые предположения о значении ваших данных, надеясь, что вы их получите, даже если это не совсем то, что вам нужно). Эта таблица будет выглядеть так:
user_id (?) | hotel_id
1 | 1
1 | 2
2 | 14
Это позволит легко запрашивать, обновлять, вставлять и удалять любую конкретную гостиницу любому пользователю.
Надеюсь, что это имеет смысл, и вы можете сделать это изменение, иначе ваша проблема может быть решена с помощью некоторых строковых функций MySQL, таких как REPLACE и SUBSTR, или путем выполнения всей работы в коде приложения и сохранения нового JSON, когда сделанный. В любом случае, поддержание этого будет трудным и потребует больше усилий в долгосрочной перспективе.