Erlang mysql的例子

时间:2010-01-13 21:52:48

标签: mysql erlang

只是想知道是否有人可以提供使用erlang-mysql模块(http://code.google.com/p/erlang-mysql-driver/)的工作示例。

我是erlang的新手,我正在尝试用一些erlang批处理过程替换一些旧脚本。我能够连接到数据库甚至完成查询,但我不确定如何使用结果。这是我现在拥有的:

-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]),
...

我还有一个准备好的声明,我也用它来获得一行(如果它存在),知道如何访问结果也是有帮助的

3 个答案:

答案 0 :(得分:4)

mysql.erl的{​​{3}}中描述了这一点:

您的结果将是{data, MySQLRes}

FieldInfo = mysql:get_result_field_info(MysqlRes),其中FieldInfo{Table, Field, Length, Name}元组的列表。

AllRows = mysql:get_result_rows(MysqlRes),其中AllRows是列表列表,每个列表代表一行。

答案 1 :(得分:0)

你应该检查一下行数, 然后执行:

例如: RowLen = erlang:length(Row), 如果     RowLen&gt; 0 - &gt;         {成功};     是的 - &gt;         {failed,&#34; Row为null&#34;} 端。

答案 2 :(得分:0)

尝试使用Erlang / OTP附带的ODBC模块并遇到问题后,我推荐使用mysql / otp驱动程序。我在几个小时内用它替换了ODBC,它工作正常。

他们有好documentation所以我不会在这里添加示例。