0

我在 erlang 中使用了 sql join 查询,但是执行了下面的代码并没有得到答案,我一直在想可能是查询到 list_to_binary 转换 Packet = list_to_binary([?MYSQL_QUERY_OP, Query])这行执行时发生错误。

ejabberd_odbc:sql_query(
          "192.168.1.14",
          ["select p.id,p.name,p.age,p.phone,i.question from palani p join india i on i.palaniId = p.id;"]).

我知道我不会发送准备数据。请让我知道如何发送正确的格式?

4

1 回答 1

1

当您编写 ["a string"] 时,您正在构建一个包含一个元素的列表,即字符串“a string”。该函数需要一个字符串,因此您只需使用“select p.id,p.name,p.age,p.phone,i.question from palani p join india i on i.palaniId = p.id;”。删除 [ ]。

在您的示例中,阅读文档后,我不确定您是否需要最后的 ';' ,因为据说分号应该用于批量分隔查询。

同样,我找不到语法“select ... from table p join ...”

最后,如果您想动态构建查询,可以使用 io_lib:format/2 和 ++ 运算符来构建它

于 2013-07-12T14:38:03.027 回答