【问题标题】:How to Display a single backslash in Elixir string如何在 Elixir 字符串中显示单个反斜杠
【发布时间】:2015-04-30 20:17:23
【问题描述】:

谁能告诉我如何在 Elixir 的 SQL 语句中添加一个反斜杠

iex(1)> sql = "select * from user limit 1 \G;" "select * from user limit 1 G;" iex(2)> sql = "select * from user limit 1 \\G;" "select * from user limit 1 \\G;"

我的 sql 语句中只需要 '\G'

$ elixir -v Elixir 1.1.0-dev

其实我也想用mariaex库,但是还是不行

defmodule Customer do

    def main(args) do

        sql = "SELECT name FROM user limit 3 \\G;"

        {:ok, p} = Mariaex.Connection.start_link(username: "root", password: "password", database: "user")

        res = Mariaex.Connection.query(p, sql )

        IO.inspect res
    end
end

当我执行代码时,它告诉我在 '\G' 周围有语法错误

$ escript billutil
{:error,
 %Mariaex.Error{mariadb: %{code: 1064,
    message: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\\G' at line 1"},
  message: nil}}

请问我应该如何格式化字符串?

【问题讨论】:

    标签: elixir


    【解决方案1】:

    您的第二次尝试是正确的。您会在输出中看到两个反斜杠,因为它是经过检查的输出(打印为 Elixir 术语)。如果您尝试将该 sql 打印到控制台,您会看到一个反斜杠:

    iex(1)> IO.puts("select * from user limit 1 \\G;")
    select * from user limit 1 \G;
    

    【讨论】:

    • 谢谢你的回复,我其实是想用Mariaex执行一个sql查询。但我仍然不确定如何格式化字符串以使其有效
    猜你喜欢
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多