0

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

除了一个不影响任何行的特定 UPDATE 语句之外,一切都运行良好。通过 isql 执行的相同查询会影响 258 行(与我从 Windows 运行查询的结果相同)。顺便说一句,一个简单的 UPDATE 语句可以工作(例如:UPDATE mytable SET x=1)。有问题的查询基于 2 个 JOIN(一个是 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,
}

}

4

0 回答 0