gpt4 book ai didi

mysql - 调试 ErlyDB 和 MySQL

转载 作者:行者123 更新时间:2023-11-29 01:48:09 27 4
gpt4 key购买 nike

我正在非 erlyweb 环境中试验 ErlyDB,但运气不佳。

我有一个用于测试的“Thing”表,以及一个相应的 Thing 模块:

-module(thing).
-export([table/0, fields/0]).

table() ->
thing.
fields() ->
[name, value].

模块本身可以工作——我可以使用 ([Thing] = thing:find({name, '=', "test"})) 很好地查询数据库。

当我尝试保存一条新记录时,情况并不理想。

我一直看到以下错误:

mysql_conn:426: fetch <<"BEGIN">> (id <0.97.0>)
mysql_conn:426: fetch <<"INSERT INTO thing(value,name) VALUES ('vtha','blah')">> (id <0.97.0>)
mysql_conn:426: fetch <<"ROLLBACK">> (id <0.97.0>)
** exception exit: {{'EXIT',{badarg,[{erlang,hd,[[]]},
{erlydb_base,'-do_save/1-fun-0-',4},
{mysql_conn,do_transaction,2},
{mysql_conn,loop,1}]}},
{rollback_result,{updated,{mysql_result,[],[],0,[]}}}}
in function erlydb_base:do_save/1
in call from erlydb_base:hook/4
in call from test_thing:test/0
called as test_thing:test()

表存在,凭证有效,SQL 本身没问题,因为我可以直接在数据库上执行命令。

我用来保存的代码是:

erlydb:start(mysql, Database),
Thing = thing:new(<<"hello">>, <<"world">>),
thing:save(Thing),

有什么我想念的吗?有什么方法可以从数据库中查看一些更有帮助的错误消息吗?

最佳答案

查看 source对于 erlydb_base,异常发生在 erlydb 调用你的事物模块的 db_pk_fields() 函数时。该函数应该返回一个列表,但显然它没有。

关于mysql - 调试 ErlyDB 和 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1228893/

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