我在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;"]).
我知道我不会发送准备数据。请告诉我如何发送正确的格式?
答案 0 :(得分:1)
当您编写[“一个字符串”]时,您正在构建一个包含一个单独元素的列表,即字符串“a string”。该函数期待一个字符串,所以你只需要使用“选择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和++运算符来构建它