nodejs 如何让检查 sql 语句 合法性
各位大神: 小弟用的是 “mysql”: “2.5.5” 的模块 但是操作数据库的是 ** sql =update test set id=‘x’ ** 我的表结构id 是int 类型。
执行的时候没有报sql 错误的异常直接执行了。
请问 如何 校验sql 像java的sql 的驱动,有没有其他大神写好了这种处理的 mysql的模块
7 回复
这个还真没试过,一直用mongodb灵活习惯了,对于这种严格要求的,你可以尝试下如果成功就OK,失败有回调,应该不需要特定的模块处理吧。(如果mysql驱动写得好的话)ps:弱弱的说一句,js本来就是弱类型语言
sql不合法应该会抛出err吧?
node去检查query语法再执行 是浪费 node性能的,不合法的query都会传递error对象给callback
我知道检查是会浪费node 的性能,但是我想知道是怎么检查,
和node没多少关系,一般其他编程语言里也很少去对构造出来的sql做语法检查,举例里的问题应该是可以通过测试发现的。
可以爬个网站: http://www.piliapp.com/mysql-syntax-check/
不怕麻烦就从语法上解决: http://www.antlr3.org/grammar/list.html
@leapon antlr 有 javascript 的 runtime 了