qianchen912 2022-05-13 15:33 采纳率: 100%
浏览 23
已结题

isnull 使用缺省‘’ 在sql 中可以执行,在python中就不能运行

近期维护数据库,想把两列数据合并插入第三列,在management studio 使用

update table1 set table1.c=isnull(table1.a,'')+isnull(table1.b,'')
完美运行,实现两列合并

然后想在网站上面设置一下,在django里面views添加
         def  sum(request):
                 with connection.cursor() as cursor:  
                         cursor.execute('update table1 set table1.c=isnull(table1.a,'')+isnull(table1.b,'')‘)
                          cursor.commit()
                  return HttpResponse('平台数据更新完毕')
          结果直接报错

报错如下:
ProgrammingError('42000', '[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]“)”附近有语法错误。 (102) (SQLExecDirectW)')

按道理python只是传输了一串字符给sql,为什么会有错误呢?

  • 写回答

2条回答 默认 最新

  • 於黾 2022-05-13 15:45
    关注

    你仔细看你发的代码,没发现后面的代码都绿了吗
    你的引号不成对,导致多括号了
    当你定义的str里本身含有单引号时,请使用双引号来定义这个字符串,以免发生歧义
    就算你后面那个中文单引号替换成英文,你的sql也是错的
    因为你的整个str是单引号定义的,所以里面出现的''被转义了,只保留了一个引号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 已采纳回答 5月13日
  • 创建了问题 5月13日

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?