Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用LIKE-SQL语句进行简单的URL匹配_Mysql_Sql_Regex_Redirect - Fatal编程技术网

Mysql 使用LIKE-SQL语句进行简单的URL匹配

Mysql 使用LIKE-SQL语句进行简单的URL匹配,mysql,sql,regex,redirect,Mysql,Sql,Regex,Redirect,可以使用SQLLIKE语句来匹配带或不带尾随斜杠的字符串,就像在典型的URL上一样 前 有没有办法使用LIKE(或REGEX语句以外的其他语句),这样无论我是否传递它,它都会抓取该行/my path/或/my path SELECT * FROM table WHERE path LIKE '\/my-path\/?' // (borrowed regex syntax) this would grab a row path = '/my-path/' but would also grab a

可以使用SQL
LIKE
语句来匹配带或不带尾随斜杠的字符串,就像在典型的URL上一样

有没有办法使用LIKE(或REGEX语句以外的其他语句),这样无论我是否传递它,它都会抓取该行
/my path/
/my path

SELECT * FROM table WHERE path LIKE '\/my-path\/?' // (borrowed regex syntax) this would grab a row path = '/my-path/' but would also grab a row with path = '/my-path' (no trailing slash)
基本上,我想设置URL重定向,谁的记录存储在数据库中。我将URL路径(可能包含也可能不包含尾随斜杠)传递给它,并返回相应的记录,忽略任何可能的尾随斜杠。

使用
IN()
与两个字符串进行比较,而不是模式匹配

SELECT * FROM table WHERE path IN ('/my-path/', '/my-path')

使用LIKE运算符并将通配符%添加到输入的末尾

select * from table1 where path like concat(YOURINPUTHERE,'%')

看起来您需要使用
REGEX
,而不是像
那样使用
。是的,REGEX可以工作,但性能很差。此查询扫描整个表,不可索引('/my path','/my path/')
中的
路径如何?
select * from table1 where path like concat(YOURINPUTHERE,'%')