使用Mariaex.Result结构中的字段

时间:2018-01-24 09:50:43

标签: mysql elixir ecto

我编写了一个Elixir脚本,它使用Mariaex库将MySQL查询发送到我的数据库。查询完美无缺。现在,我想在我的脚本中使用Mariaex.Result结构中返回的num_rows字段。代码片段如下: -

if {:ok, %Mariaex.Result{num_rows: nil}} do
    IO.puts "Query Unsuccessful"
else
    IO.puts "Query Successful"
end

我知道if条件不能正常工作。该条件的目标是检查num_rows是否为0。我应该如何修改条件,以便上面的代码片段正常工作? 这是Mariaex的GitHub链接:https://github.com/xerions/mariaex

1 个答案:

答案 0 :(得分:1)

您可以使用case

来使用模式匹配
case execute_query() do
  {:ok, %Mariaex.Result{num_rows: nil}} ->
     IO.puts "Query Unsuccessful"
  _ ->
     IO.puts "Query Successful"
end

您可能也希望匹配{:error, error}

case execute_query() do
  {:ok, %Mariaex.Result{num_rows: nil}} ->
     IO.puts "Query Unsuccessful"
  {:error, error}
     IO.puts "Error!"
  _ ->
    IO.puts "Query Successful"
end

如果您想要检查nil,可以将上面的0更改为0