"SELECT DISTINCT `Name` FROM ( SELECT * FROM `Aliases` WHERE ( `IP` GLOB 'ENTERED_NAME' ) ORDER BY `Datetime` DESC )"
基本上试图获取链接到与“ENTERED_NAME”相同的 IP 地址的所有名称。
是否有相当于“GLOB”的MySQL?
GLOB
使用通配符,例如GLOB 'Foo*'
匹配以 . 开头的任何内容Foo
。Mysql 不支持这一点,但您可以将您的字符串转换为使用LIKE
如下:
WHERE IP LIKE BINARY REPLACE('ENTERED_NAME', '*', '%') -- replace * with %
SELECT DISTINCT `Name` FROM (
SELECT * FROM `Aliases` WHERE ( `IP` LIKE '%[entered_name]%' ) ORDER BY `Datetime` DESC
)
...或者...
SELECT DISTINCT `Name` FROM (
SELECT * FROM `Aliases` WHERE ( `IP` = '[entered_name]' ) ORDER BY `Datetime` DESC
)
...其中 [entered_name] 会相应更改。