我想在SQLite中插入日期(作为数据类型的文本)。这是我的设置:在SQLite中插入日期
def create_table():
c.execute('CREATE TABLE IF NOT EXISTS practice_data(date TEXT, distance REAL, duration REAL, avg_pace REAL)')
date = str(input('Enter DATE (i.e. 2016-01-10): '))
distance = float(input('Enter TOTAL DISTANCE RAN (i.e 2.11): '))
duration = float(input('Enter TOTAL DURATION (i.e. 20.34): '))
avg_pace = float(input('Enter AVERAGE PACE (i.e. 10.44): '))
def data_entry():
c.execute("INSERT INTO practice_data(date,distance,duration,avg_pace) VALUES ({}, {}, {}, {})".format(date, distance, duration, avg_pace))
conn.commit()
c.close()
conn.close()
create_table()
data_entry()
当我运行该程序时,它工作正常。但是当我打开SQLite浏览器时,日期列将不正确。例如,如果我输入“2016-11-06”,它将输入“1999”。出于某种原因,它暗示' - '是减法。即使我已指定该日期的数据类型为TEXT。
我已经看到,SQLite有一个日期时间选项,但我不知道如何实现它。
我目前使用Python3.5。我继续前进并将input()更改为raw_input(),并在Python 2.7中运行它。但是我仍然将它解释为' - '的结果与减法相同。 – kstullich
完美!修复了这个问题,谢谢! – kstullich