python – 基本的pySQLite示例?
发布时间:2020-12-16 23:12:09 所属栏目:Python 来源:网络整理
导读:Gang,我开始玩pySQLite了,我正在尝试找一个例子,说明如果在db中存在新记录之前如何在插入新记录之前查询db的现有记录.我觉得我忽略了一个非常基本的功能. 谢谢! 解决方法 在创建表时使用UNIQUE关键字,并仅在记录为“new”(唯一)时使用INSERT OR INGORE插入
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |