Авто приращение вопроса в SQlite3 - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть таблица в Sqlite3:

CREATE TABLE `shows` (
    `index` INTEGER PRIMARY KEY AUTOINCREMENT,
    `show`  TEXT,
    `createddate`   TEXT,
    `Batch` INTEGER
);

Я загружаю данные в таблицу, используя следующий код:

df = pd.DataFrame(np.column_stack([shows,dates, batch]),columns=['show', 'createddate','batch'])

df.to_sql('shows', conn,if_exists='append')

Первый раз, когда я запустил ее с пустой таблицейвсе работает нормально.

Но если я запустлю его снова, я получу сообщение об ошибке:

 UNIQUE constraint failed: shows.index

Есть идеи, как мне получить индекс с автоматическим приращением для второй загрузки?

Edit: Show, Dates, Batch - это просто списки текстовых данных.Вы заметите, что я не передаю индекс, так как не думаю, что мне нужно с AUTOINCREMENT на первичном ключе.

1 Ответ

0 голосов
/ 25 ноября 2018

Мне удалось заставить его работать, удалив первичный ключ.Не идеально.

Кажется, проблема в Pandas to_sql () - он ищет поле индекса, которое использует, но сбрасывается при каждом выполнении.

Проблема была вызвана тем, что в последней версии Pandas по умолчанию был создан столбец индекса.Это противоречило моему первичному ключу.Мне просто нужно было добавить: index = False в качестве параметра .to_sql

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