ErlangMySQL示例
我想知道是否有人可以给出一个使用erlang mysql模块()的工作示例 我是erlang新手,我正在尝试用几个erlang批处理过程替换一些旧脚本。我可以连接到数据库,甚至可以完成查询,但我不确定如何使用结果。以下是我目前拥有的:ErlangMySQL示例,mysql,erlang,Mysql,Erlang,我想知道是否有人可以给出一个使用erlang mysql模块()的工作示例 我是erlang新手,我正在尝试用几个erlang批处理过程替换一些旧脚本。我可以连接到数据库,甚至可以完成查询,但我不确定如何使用结果。以下是我目前拥有的: -include("../include/mysql.hrl"). ... mysql:start_link(p1, "IP-ADDRESS", "erlang", "PASSWORD", "DATABASE"), Result1 = mysql:fetch(p1
-include("../include/mysql.hrl").
...
mysql:start_link(p1, "IP-ADDRESS", "erlang", "PASSWORD", "DATABASE"),
Result1 = mysql:fetch(p1, <<"SELECT * FROM users">>),
io:format("Result1: ~p~n", [Result1]),
...
-include(“../include/mysql.hrl”)。
...
mysql:启动链接(p1,“IP地址”、“erlang”、“密码”、“数据库”),
Result1=mysql:fetch(p1,),
io:format(“Result1:~p~n”,[Result1]),
...
我还有一个准备好的语句,我也用它来获取一行(如果存在的话),知道如何访问该行的结果也会很有帮助
您的结果将是{data,MySQLRes}
FieldInfo=mysql:get\u result\u field\u info(MysqlRes)
,其中FieldInfo
是{Table,field,Length,Name}
元组的列表
AllRows=mysql:get\u result\u rows(MysqlRes)
,其中AllRows
是一个列表列表,每个列表代表一行。您应该检查行数,
然后执行:
例如:
RowLen=erlang:长度(行),
如果
RowLen>0->
{成功};
正确->
{失败,“行为空”}
结束。尝试使用Erlang/OTP附带的ODBC模块后遇到问题,我推荐使用mysql/OTP驱动程序。我在几个小时内就用它替换了ODBC,它工作得很好
它们很好,所以我不会在这里添加示例。谢谢,作为一个补充:解析结果的最佳方法是什么?有时会导致0行或有时会有很多行。因此,如果我需要获取电子邮件地址和名称(从用户表中,假设结构为[id,email,name])。这方面的一些示例代码将非常棒。
[do_sg(Email,Name)|[u,Email,Name]