将日期插入 SQLite3

Posted

技术标签:

【中文标题】将日期插入 SQLite3【英文标题】:inserting a Date to SQLite3 【发布时间】:2021-01-07 11:19:20 【问题描述】:

这两个函数用于插入或更新用户输入到表中的日期

def insert_date(Id, date):
    conn=sqlite3.connect(DB)
    cursor=conn.execute('INSERT INTO poeple (date) VALUES (?)',(date))
    conn.commit()
    conn.close()

def update_date(Id, date):
    conn=sqlite3.connect(DB)
    cursor=conn.execute('UPDATE poeple SET date=? WHERE ID ='+str(Id),
                        (date))
    conn.commit()
    conn.close()

但我遇到了这个错误: cursor=conn.execute('INSERT INTO poeple (date) VALUES (?)',(date)) sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用 1,提供了 9 个。 这个错误是什么意思?

【问题讨论】:

日期作为参数传递给函数, 如果您的问题解决了,请标记为:***.com/help/someone-answers 【参考方案1】:

sqlite 的 execute function parameters 参数应该是 Iterable

您在拨打conn.execute('INSERT INTO poeple (date) VALUES (?)',(date) 时忘记了,

应该是: conn.execute('INSERT INTO poeple (date) VALUES (?)', (date,)

因为:

a = 1
print(type((a)))
# <class 'int'>

print(type((a,)))
# <class 'tuple'>

【讨论】:

以上是关于将日期插入 SQLite3的主要内容,如果未能解决你的问题,请参考以下文章

将日期插入数据库时​​如何替换错误的日期?

使用 Laravel 将日期值插入日期字段

将日期和时间插入Mysql

如何将空日期插入访问

如何将日期值插入表中

如何将 2 个表与日期进行比较并检查缺少哪个日期并使用 Mysql 插入日期?