只是想知道是否有人可以提供使用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]),
...
我还有一个准备好的声明,我也用它来获得一行(如果它存在),知道如何访问结果也是有帮助的
答案 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所以我不会在这里添加示例。