一个sqlite3 复杂的数据库端修改某个字符串字段中的子字符串的sql写法

发布时间 2023-06-03 10:11:57作者: 北京开发

 

 "update not_match_files set policy_id_tms = replace(policy_id_tms, substr(policy_id_tms,instr(policy_id_tms,'," + m_pid_id[v_del_policies[idx]] + ":'), " + tbuf      + "), '') where policy_id_tms like '%," + m_pid_id[v_del_policies[idx]] + ":%'; "

其中 m_pid_id 是c++的string  关键字的map;v_del_policies是另外一个整数vector;   m_pid_id是一个string的map

数据库表   

CREATE TABLE not_match_files (
        `I32_hash` integer , --
        `full_path` text NOT NULL UNIQUE, -- 未匹配文件全路径名
        `policy_id_tms` text -- (未匹配策略和策略ID对儿)>的列表
  );