为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 如何在sql 字符串 内拼接nulll 使得能被mysql 识别

javascript 如何在sql 字符串 内拼接nulll 使得能被mysql 识别

吃鸡游戏 2019-02-26 17:59:26
这样的语句在mysql 是能正常执行的。但在程序里面 是通过字符串的形式拼接的sql ,最后拼接出来 null 就变成 'null'。 sql自然执行失败。如下图。在orm 框架里面 看到 可以直接输出sql 的null ,我这里的问题就是 它是怎么做到的? 我上面该怎么写,才能使字符串拼接出来的sql 能被 mysql正确识别.
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

被转义了,你举例的那个orm使用了他封装的方法自然是可以的,不清楚你具体的环境,不过原生SQL是绝对可行的。


查看完整回答
反对 回复 2019-03-06
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

ORM框架是通过你调用的方法来决定怎么看待 null (作为文本就加引号,作为关键字就不加引号)。

看你拼接出来的 sql 语句,应该是直接 for 循环遍历出来的,要么在循环中加判断,遇到aliasName时,前面的key(或者其他什么,我看不出来你们这里是用什么东西来表示这个对应关系的)不加引号;要么在拿到这个
sql 语句后,手动 string.replace('null as aliasName', 'null as aliasName') 来替换掉。


查看完整回答
反对 回复 2019-03-06
?
HUX布斯

TA贡献1876条经验 获得超6个赞

我试过前端用 sequelize 的语法拼 sql。像这样


{

  id: 1,

  where: {

   name: 'ss',

   age: 10

 }

}

前端发这样的 json,序列化一下发给 node 中间层,直接就可以用 sequelize 处理了。 null 的情况是可以处理的。你直接发字符串给 orm,我觉得它是不认识的


查看完整回答
反对 回复 2019-03-06
  • 3 回答
  • 0 关注
  • 942 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号