gpt4 book ai didi

sqlite - 二郎-sqlite3 sqlite3 :table_info error

转载 作者:行者123 更新时间:2023-12-03 18:50:10 26 4
gpt4 key购买 nike

我尝试使用 sqlite3:table_info/2 函数从 sqlite 数据库中提取表信息并收到错误消息。

{ok,Pid} = sqlite3:open(db3).

Sql = <<"CREATE TABLE test (
id INTEGER PRIMARY KEY,
ts TEXT default (datetime('now')),
key TEXT,
val TEXT
);">>.
sqlite3:sql_exec(db3,Sql).

检查表列表:
sqlite3:list_tables(db3).
[test]

尝试获取表信息:
sqlite3:table_info(db3,test). 

现在错误消息:

`=错误报告==== 2015 年 3 月 1 日::19:37:46 ===
** 通用服务器 db3 终止
** 最后一条消息是 {table_info,test}
** 当服务器状态 == {state,#Port,
[{文件,"../tmp/db3.sqlite"}],
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]}}}}
** 终止原因 ==
** {function_clause,[{sqlite3,build_constraints,
[["整数","主","键"]],
[{file,"src/sqlite3.erl"},{line,1169}]},
{sqlite3,build_table_info,2,
[{file,"src/sqlite3.erl"},{line,1166}]},
{sqlite3,handle_call,3,
[{file,"src/sqlite3.erl"},{line,833}]},
{gen_server,try_handle_call,4,
[{file,"gen_server.erl"},{line,607}]},
{gen_server,handle_msg,5,
[{file,"gen_server.erl"},{line,639}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,237}]}]}
** 异常退出:function_clause
在函数 sqlite3:build_constraints/1
称为 sqlite3:build_constraints(["INTEGER","PRIMARY","KEY"])
从 sqlite3 调用:build_table_info/2(src/sqlite3.erl,第 1166 行)
从 sqlite3 调用:handle_call/3(src/sqlite3.erl,第 833 行)
来自 gen_server:try_handle_call/4 的调用(gen_server.erl,第 607 行)
来自 gen_server:handle_msg/5 的调用(gen_server.erl,第 639 行)
从 proc_lib:init_p_do_apply/3 调用(proc_lib.erl,第 237 行)

有任何想法吗?

最佳答案

我有 fixed the problemINTEGER PRIMARY KEY . default更难支持,但我添加了一个后备,至少它不会崩溃。正如@CL 所提到的,这种解析无论如何都是不可靠的(因为不幸的是,SQLite 没有公开任何使用它自己的解析器的方法)。

关于sqlite - 二郎-sqlite3 sqlite3 :table_info error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com