Python ODBC создает таблицу, если не существует - PullRequest
0 голосов
/ 23 октября 2018

У меня есть оператор SQL ODBC на Python, но он всегда возвращает ошибку.На SQL Server оператор работает нормально.Кто-нибудь может помочь мне здесь?

execute("IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='tablename' AND xtype='U')
            CREATE TABLE tablename (id INTEGER PRIMARY KEY, fieldA NVARCHAR(Max) NOT NULL, fieldB NVARCHAR(Max) NOT NULL)")

1 Ответ

0 голосов
/ 23 октября 2018

РЕДАКТИРОВАТЬ: Обратите внимание, что вы должны использовать тройные кавычки для многострочной строки в Python, если оператор execute вставлен выше, как написано в вашем скрипте, он, скорее всего, завершится с ошибкой новой строки.

execute("""IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='tablename' AND xtype='U')
        CREATE TABLE tablename (id INTEGER PRIMARY KEY, fieldA NVARCHAR(Max) NOT NULL, fieldB NVARCHAR(Max) NOT NULL)""")

Я рекомендую просто использовать функцию панд to_sql .Он создаст таблицу со всеми необходимыми столбцами, если она не существует.

Вы можете использовать параметр if_exists для обработки уже существующей таблицы ('append' / 'replace' / 'не в состоянии ')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...