sqlite3在插入后自动插入日期和小时

时间:2015-05-18 23:01:05

标签: python sqlite

我有一个表,其中包含一些列,ID(IntPK),名称(文本),数量(Int),总计(Int),小时(Int),日期(Int)

我只想插入名称,数量和总计,然后每当一个字段插入此表时,我希望它自动填充小时和日期,比如说,小时和日期来自电脑..有办法吗?我不想在每次插入新字段时输入日期和小时..

import sqlite3
conn = sqlite3.connect('Inventario.db')
c = conn.cursor()
conn.commit()

c.execute('''CREATE table if not exists sales(id INTEGER PRIMARY KEY, client TEXT, qty INTEGER, total INTEGER, hour INTEGER, date INTEGER)''')

1 个答案:

答案 0 :(得分:0)

您可以使用(例如)datetime创建一个检测日期的方法。

import datetime
def insert_into_table(cursor,client,qty,total):
    date = datetime.datetime.now().date() # you can change it to your desired format as well as hour
    hour = datetime.datetime.now().hour()
    cursor.execute("INSERT INTO sales(client,qty,total,hour,date) VALUES (?,?,?,?,?)", (client,qty,total,hour,date))

在我看来,Cursor可以是类的属性,因此您不需要将该属性添加到方法中。

编辑:感谢Jon Clements帮助我提高代码的安全性。