SQL UPDATE不会通过django-pyodbc影响任何行

时间:2015-01-20 00:16:30

标签: python sql-server freetds unixodbc django-pyodbc

我为Python 2.7安装了django-pyodbc(Ubuntu 14.04,unixODBC,FreeTDS),我正在尝试更新我作为测试创建的SQL Server数据库。

除了一个不影响任何行的特定UPDATE语句外,一切正常。通过isql执行的相同查询会影响258行(与从Windows运行查询的结果相同)。顺便说一下,一个简单的UPDATE语句可以工作(例如:UPDATE mytable SET x = 1)。有问题的查询基于2个JOINS(一个是LEFT JOIN)。这是:

UPDATE E
SET in_dico = 0
FROM entites_entite E
INNER JOIN entites_entitetype T 
      ON E.entite_type_id = T.id
LEFT JOIN entites_singleton S 
      ON LOWER(E.entite_name) = LOWER(S.entite_name)
WHERE E.entite_name NOT LIKE '% %' 
      AND T.exclude_singleton = 1 
      AND S.entite_name IS NULL

有谁知道这样的事情怎么可能? 问候, 帕特里克

编辑:我的DATABASE设置已包含autocommit参数。无论如何,这是:

DATABASES = {
'default': {
   'ENGINE': "django_pyodbc",
   'HOST': "myservername,1433",
   'USER': "myname",
   'PASSWORD': "mypassword",
   'NAME': "mydbname",
   'OPTIONS': {
       'host_is_server': True,
       'autocommit': True,
       'driver': "FreeTDS"
       },
   'COMMAND_TIMEOUT': 7200,
}

}

0 个答案:

没有答案