【问题标题】:How to insert null in table with python-sqlite3?如何使用 python-sqlite3 在表中插入空值?
【发布时间】:2014-09-25 12:41:04
【问题描述】:

在sqlite控制台中,我们可以简单的插入null。

create table data(code TEXT,date  DATETIME)
insert into data values("x1","20010101");
insert into data values("x2",null);

如何使用 python-sqlite3 插入 null?

import sqlite3 
db = r'F:\test.sqlite'
con = sqlite3.connect(db)
cur = con.cursor()
cur.execute('create table data(code TEXT,date  DATETIME)')
record1=('x1','2001-01-01')
cur.execute('INSERT INTO data VALUES(?,?);',record1)
record2=('x2','NULL')
cur.execute('INSERT INTO data VALUES(?,?);',record2)
record3=('x2','null')
cur.execute('INSERT INTO data VALUES(?,?);',record3)
record4=('x4',null)
cur.execute('INSERT INTO data VALUES(?,?);',record4)
record5=('x5',NULL)
cur.execute('INSERT INTO data VALUES(?,?);',record5)
con.commit()

cur.execute('INSERT INTO data VALUES(?,?);',record2)NULL字符串插入表中,不为空。
cur.execute('INSERT INTO data VALUES(?,?);',record3)null字符串插入表中,不为空。

cur.execute('INSERT INTO data VALUES(?,?);',record4) 或 cur.execute('INSERT INTO data VALUES(?,?);',record5) 都不能在表中插入空值数据。

如何使用 python-sqlite3 将 null 插入表中?

【问题讨论】:

    标签: python-3.x sqlite


    【解决方案1】:

    documentation 说:

    因此,以下 Python 类型可以毫无问题地发送到 SQLite:

    Python type   SQLite type
    None          NULL
    ...
    

    【讨论】:

    • record=('x',None) cur.execute('INSERT INTO data VALUES(?,?);',record)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多