0

Python 2.7 (Ubuntu 14.04、unixODBC、FreeTDS) 用に django-pyodbc をインストールしました。テストとして作成した SQL Server データベースを更新しようとしています。

どの行にも影響を与えない 1 つの特定の UPDATE ステートメントを除いて、すべてが正常に機能します。isql を介して実行された同じクエリは、258 行に影響します (Windows からクエリを実行した場合と同じ結果)。ところで、単純な UPDATE ステートメントが機能します (例: UPDATE mytable SET x=1)。問題のクエリは 2 つの JOINS に基づいています (1 つは 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

そのようなことがどのように可能か知っている人はいますか?よろしく、 パトリック

編集:私のデータベース設定には、すでに自動コミットパラメーターが含まれています。とにかく、ここにあります:

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