我想在我的Web应用程序中实现intellisence建议引擎,以便下表
COMPANIES (
id BIGSERIAL NOT NULL PRIMARY KEY,
name VARCHAR(200) NOT NULL,
)
CREATE UNIQUE INDEX name ON companies USING BTREE (name);
名称为
的行'Mysterious unicorn startup'
我可以使用名称中的前两个字母(最好的数字是什么?)来查询名称。如果我输入第一个单词的开头,单词的数量将是变量,查询也应该建议行。
以便以下查询返回此行:
suggest("mysteri");
将匹配: ' Mysteri ous unicorn startup'
suggest("myunst");
将匹配: ' 我顽固联合 icorn st artup'
suggest("myst");
将匹配: ' 我的独特的独角兽 st artup'
问题是:如何编写适用于所有这些情况的sql SELECT请求?
答案 0 :(得分:-1)
您正在寻找一个LIKE比较:
SELECT id, name FROM Companies WHERE Name LIKE 'myst%'
但是,不要只是接受用户输入并将其附加到您的查询中,因为这会打开您的SQL注入攻击。在构建查询时,您将要使用参数。