You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

合并SQLite多步操作为单查询:检查路径并返回/插入获取folderId

SQLite 单查询实现「存在返回ID,不存在插入后返回ID」

前提准备

首先给folderPath字段添加唯一约束,避免重复插入相同路径:

CREATE UNIQUE INDEX idx_folder_path ON your_table_name(folderPath);

核心查询语句

假设要处理的目标路径是'C:\Users\trump',执行以下复合语句即可完成需求:

WITH insert_attempt AS (
    INSERT OR IGNORE INTO your_table_name(folderPath) VALUES ('C:\Users\trump')
)
SELECT folderId FROM your_table_name WHERE folderPath = 'C:\Users\trump';

语句解释

  • INSERT OR IGNORE:尝试插入目标路径,若路径已存在(触发唯一约束),则直接忽略插入操作,不会报错。
  • 后续的SELECT:直接查询目标路径对应的folderId,无论路径是原本存在还是刚插入的,都能返回正确的ID。

注意事项

  • 替换语句中的your_table_name为你的实际表名。
  • 代码中使用时建议用参数化查询(比如用?作为占位符),避免SQL注入风险,示例:
    INSERT OR IGNORE INTO your_table_name(folderPath) VALUES (?);
    SELECT folderId FROM your_table_name WHERE folderPath = ?;
    

内容的提问来源于stack exchange,提问作者bajirao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:56:02