sqlite数据库 大量插入数据时如何避免重复插入(易语言,做好用sql语句写下)

一个表会员信息里面有字段qqpassword如果先查询下qq是否存在再插入的话效率比较低。插入大量数据的话(如果存在就更新,不存在就插入)该如何解决?... 一个表 会员信息 里面有字段 qq password
如果先查询下 qq 是否存在 再插入的话 效率比较低。
插入大量数据的话 (如果存在就更新,不存在就插入) 该如何解决?
展开
 我来答
thep
推荐于2017-11-27 · 超过30用户采纳过TA的回答
知道答主
回答量:63
采纳率:100%
帮助的人:51.6万
展开全部
///sqlite数据表建立唯一限制就行了么
///sql代码如下:
CREATE TABLE "main"."film" (
"filmno"  INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"filmname"  TEXT(100),
"language"  TEXT(10),
"type"  TEXT(10),
CONSTRAINT "不重复规则" UNIQUE ("filmname", "language") ON CONFLICT REPLACE/*就这段是重点*/
)
;
追问
大哥看不懂啊,能否举个例子,,我用的易语言
追答

就是你在建数据表的时候就用上面的代码写到表里面,以后直接插入就行了啊




看来你还是不懂..  给你个样例吧..



源码如下;测试成功


.版本 2

.支持库 sqlite3

.支持库 spec


.子程序 __启动窗口_创建完毕

.局部变量 ku, Sqlite数据库

.局部变量 biao, Sqlite表

.局部变量 sql, 文本型

.局部变量 jg, 文本型, , "0"

.局部变量 a, 整数型


ku.打开 (取运行目录 () + “\test.db”, 真)

sql = “CREATE TABLE qqlist (qq  text(15),mm  TEXT(20),CONSTRAINT '不重复规则' UNIQUE (qq) ON CONFLICT REPLACE)”

调试输出 (ku.执行SQL语句 (sql))  ' -------------创建表,并建立重复替换规则

调试输出 (biao.打开 (“qqlist”, ku))

调试输出 (biao.插入 ())  ' ------------------插入第一条数据

调试输出 (biao.写字段值 (“qq”, “12345678”))

调试输出 (biao.写字段值 (“mm”, “12345678”))

调试输出 (biao.提交 ())

调试输出 (biao.插入 ())  ' ------------------插入相同值,进行密码替换更新

调试输出 (biao.写字段值 (“qq”, “12345678”))

调试输出 (biao.写字段值 (“mm”, “00000000”))

调试输出 (biao.提交 ())

调试输出 (biao.取记录个数 ())  ' ------------验证记录总数

jg = biao.取所有记录 (假)  ' ---------------提取所有记录(如果不重复规则不起作用的话现在应该有两条数据,但是执行结果显示只有一条数据,说明规则成立.)

.计次循环首 (取数组下标 (jg, 1), a)

    调试输出 (jg [a] [1], jg [a] [2])  ' ------------逐一显示所有记录

.计次循环尾 ()

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式