Как мне сопоставить динамический маршрут в базе данных?

0

У меня есть таблица вроде этого:

// routes
+----+-----------------------------+
| id |           route             |
+----+-----------------------------+
| 1  | /tracking_code/expire/{id}  |
| 2  | /tracking_code/list         |
+----+-----------------------------+

{} означает динамическое значение. И мне нужно сопоставить первую строку для этого входного значения: /tracking_code/expire/2. Думаю, мне нужно использовать регулярное выражение. Любая идея, как я могу это сделать?


В моем текущем обходном пути используется предложение LIKE следующим образом:

SELECT * FROM routes WHERE route LIKE :entry%

Также я должен удалить этот номер конца записи, например /tracking_code/expire/.

К сожалению, мой подход не будет работать для сложных маршрутов, таких как: /tracking_code/expire/{id}/temp. Во всяком случае, как мне использовать regexp для этого?

Теги:

1 ответ

0

Вы можете использовать RLIKE, как это

SELECT * FROM routes WHERE route RLIKE '^.*[0-9]+.*$'

для замены с помощью regex я не думаю, что это возможно, но есть некоторые подлые способы, прочитайте это сообщение здесь. Как заменить регулярное выражение в MySQL?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню