Python SQLite Insert не работает, несмотря на коммит - PullRequest
0 голосов
/ 28 ноября 2018

Это код, который я запускаю на Python.Таблица уже создана в БД.Я делаю коммит, поэтому не знаю, почему он работает.

Код выполняется просто отлично, но в таблицу не вставлено никаких данных.Я выполнил тот же оператор вставки непосредственно через командную строку sqlite, и он работал просто отлично.

import os
import sqlite3

current_dir = os.path.dirname(__file__)
db_file = os.path.join(current_dir, '../data/trips.db')
trips_db = sqlite3.connect(db_file)
c = trips_db.cursor()
print 'inserting data into aggregate tables'
c.execute(
    '''
    insert into route_agg_data
        select
        pickup_loc_id || ">" || dropoff_loc_id as ride_route,
        count(*) as rides_count
        from trip_data
        group by
        pickup_loc_id || ">" || dropoff_loc_id
    '''
    )
trips_db.commit
trips_db.close

Ответы [ 2 ]

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

Я изменил последние 2 строки моего кода следующим образом:

trips_db.commit()
trips_db.close()

Спасибо @ thesilkworm

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

Не могли бы вы написать хранимую процедуру внутри sqlite:

Тогда попробуйте в Python:

cur = connection.cursor()
cur.callproc('insert_into_route_agg_data', [request.data['value1'], 
request.data['value2'], request.data['value3'] ] ) 
results = cur.fetchone()  
cur.close() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...