python – 基本的pySQLite示例?
发布时间:2020-05-23 07:58:52 所属栏目:Python 来源:互联网
导读:Gang,我开始玩pySQLite了,我正在尝试找一个例子,说明如果在db中存在新记录之前如何在插入新记录之前查询db的现有记录.我觉得我忽略了一个非常基本的功能. 谢谢! 在创建表时使用UNIQUE关键字,并仅在记录为“new”(唯一)时使用INSERT OR INGORE插入: connecti
|
Gang,我开始玩pySQLite了,我正在尝试找一个例子,说明如果在db中存在新记录之前如何在插入新记录之前查询db的现有记录.我觉得我忽略了一个非常基本的功能. 谢谢! 解决方法在创建表时使用UNIQUE关键字,并仅在记录为“new”(唯一)时使用INSERT OR INGORE插入:connection=sqlite3.connect(':memory:')
cursor=connection.cursor()
cursor.execute('CREATE TABLE foo (bar INTEGER UNIQUE,baz INTEGER)')
这里我们插入一次行: cursor.execute('INSERT INTO foo (bar,baz) VALUES (?,?)',(1,2))
尝试再次插入行失败: try:
cursor.execute('INSERT INTO foo (bar,2))
except sqlite3.IntegrityError as err:
print(err)
# sqlite3.IntegrityError: column bar is not unique
INSERT或IGNORE仅在传递UNIQUE约束时才插入记录: cursor.execute('INSERT OR IGNORE INTO foo (bar,3))
cursor.execute('SELECT * from foo')
data=cursor.fetchall()
print(data)
# [(1,2)]
要在多个字段上创建UNIQUE索引,请使用类似的内容 cursor.execute('''
CREATE TABLE foo (bar INTEGER,baz INTEGER,bing INTEGER,UNIQUE (bar,baz))''')
以下是信息的链接 > INSERT OR IGNORE (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
