我想创建一个具有智能自动完成功能的在线SQL编辑器。最好的方法是什么?
如果我有空输入字段( | - 当前支架位置),编辑器必须建议 SELECT , INSERT ,更新,删除。
如果我有类型: SELECT * FROM | ,编辑器必须建议可用表的列表。但是如果我回到 SELECT *,|从人,编辑必须建议人表的字段列表。
如果我输入了这个: SELECT p.name,a。|来自人员p LEFT JOIN地址a ON p.address_id = a.id ,编辑必须建议地址表的字段列表。
还有如何支持子查询?
我认为要确定建议编辑必须知道现在哪里有马车?在哪个SQL令牌。
AST树适用于此吗?如何处理无效的SQL语句?
答案 0 :(得分:0)
您需要使用SQL语法
实现后缀树当用户键入单词时,遍历后缀树并将匹配节点中的所有子节点作为自动完成单词
这类似于Google在输入搜索字段时提供的建议