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 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题