我为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,
}
}