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

时间:2014-09-25 12:41:05

标签: python-3.x sqlite

在sqlite控制台中,我们可以插入null simple。

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字符串,而不是null。

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

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

1 个答案:

答案 0 :(得分:8)

documentation说:

  

因此可以将以下Python类型发送到SQLite而不会出现任何问题:

Python type   SQLite type
None          NULL
...