开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 241|回复: 4
收起左侧

[已解决] 求助一个sqlite3的数据库写法

 关闭 [复制链接]
结帖率:89% (84/94)
发表于 2026-3-8 20:44:52 | 显示全部楼层 |阅读模式   福建省福州市
10精币
数据库是sqlite3,用的是精易模块。 我的需求是,当数据库中,p_id这个字段值存在99999时,就执行更新,如果不存在就执行插入。

“INSERT INTO product (p_id, type, price) VALUES (99999, 'by145', 988) ON CONFLICT(p_id) DO UPDATE SET type = excluded.type,price = excluded.price”


我用数据库执行sql语句: 会提示 [color=rgba(0, 0, 0, 0.85)][backcolor=rgba(0, 0, 0, 0.04)] near "ON": syntax error这个错误。
[color=rgba(0, 0, 0, 0.85)][backcolor=rgba(0, 0, 0, 0.04)]

听说需要sqlite3版本要3.24之后的版本,但我不知道应该把sqlite3.dll文件放到哪里才行? 放了好几个地方都不行,不知道要怎么弄。。或者是否有别的sql语法能快速操作,数据每次更新几千条。


求指点!

最佳答案

查看完整内容

因为易语言本来就有两个sqlite库 你选支持库的时候 不要全选 全选就冲突 容易混乱 因为两个库的数据类型名称是一毛一样的 补充内容 (2026-3-8 22:11): 你可以去删掉一个 还有那个正则表达式库 也要删掉或者不勾选 不然影响用精易模块的正则表达式类

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值

结帖率:100% (9/9)

签到天数: 27 天

发表于 2026-3-8 20:44:53 | 显示全部楼层   安徽省六安市
因为易语言本来就有两个sqlite库  你选支持库的时候  不要全选  全选就冲突  容易混乱  因为两个库的数据类型名称是一毛一样的

补充内容 (2026-3-8 22:11):
你可以去删掉一个  还有那个正则表达式库  也要删掉或者不勾选  不然影响用精易模块的正则表达式类

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:89% (84/94)

签到天数: 8 天

 楼主| 发表于 2026-3-8 20:49:25 | 显示全部楼层   福建省福州市
另外,我的e语言不知为什么这个sqlite类都会有两个,像是重复的,不知道在哪里设置的。 1111.jpg
回复

使用道具 举报

结帖率:89% (84/94)

签到天数: 8 天

 楼主| 发表于 2026-3-8 21:16:40 | 显示全部楼层   福建省福州市
找到啦哈!用了zy大神的支持库,全搞定了。 https://bbs.ijingyi.com/forum.php?mod=viewthread&tid=14512756
回复

使用道具 举报

签到天数: 25 天

发表于 2026-3-8 23:05:15 | 显示全部楼层   福建省宁德市
你遇到的 near "ON": syntax error 错误,核心原因是:
ON CONFLICT(UPSERT)是 SQLite 3.24.0(2018-06-04)才引入的语法,你的 SQLite 版本低于这个版本,所以不支持。批量操作几千条数据,可封装成事务提升效率,首先确保p_id是主键 / 唯一索引,否则 ON CONFLICT 无效,所有操作包裹在BEGIN/COMMIT TRANSACTION中,避免频繁提交,提升效率。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表