首页 > 解决方案 > sqlite3 在用户函数上返回语法错误

问题描述

在使用 sqlite3 的 C 程序中,我创建了一个用户函数:

        rc= sqlite3_create_function                                                 
(db,                  /*database*/                                          
 "dtst",              /*SQL name*/                                          
 1,                   /*number of arguments*/                               
 SQLITE_UTF8,         /*text encoding*/                                     
 NULL,                 /*pointer*/                                          
 cdtst,               /*implementing function*/                             
 NULL,                                                                      
 NULL                                                                       
);                                                                          

我得到 SQLITE_OK 作为返回码。

然后我发出

rc = sqlite3_prepare_v2 (db, "DELETE FROM moz_cookies WHERE dtst(baseDomain)", 35, &stmt, NULL);

这失败了,sqlite_errmsg: near "(": 语法错误。根据 https://sqlite.org/lang_expr.html 这应该是一个有效的 expr。

标签: sqlite

解决方案


推荐阅读