使用CSV文件向clickhouse插入数据添加'&';使用CURL | Bash首次录制

使用CSV文件向clickhouse插入数据添加'&';使用CURL | Bash首次录制,bash,csv,curl,clickhouse,Bash,Csv,Curl,Clickhouse,我在尝试使用csv文件插入数据以使用CURL单击房屋时遇到问题,第一个值是添加一些字符,如下所示: ┌─name─ ┬─lastname─┐ │&'Mark'│ Olson │ │ Joe │ Robins │ └────── ┴──────────┘ 我的CSV文件正常,如下所示: 'Mark','Olson' 'Joe','Robins' 如您所见,该表将第一条记录中的第一个值添加为&'Mark' 这是我在bash中的代码 query="INSERT INTO My

我在尝试使用csv文件插入数据以使用CURL单击房屋时遇到问题,第一个值是添加一些字符,如下所示:

┌─name─ ┬─lastname─┐
│&'Mark'│ Olson    │
│ Joe   │ Robins   │
└────── ┴──────────┘
我的CSV文件正常,如下所示:

'Mark','Olson'
'Joe','Robins'
如您所见,该表将第一条记录中的第一个值添加为
&'Mark'

这是我在bash中的代码

query="INSERT INTO Myschema.persons FORMAT CSV"
cat ${csv} | curl -X POST -d "$query" $user:$password@localhost:8123 --data-binary @-
你知道有什么问题吗


谢谢

我认为您应该使用以下格式,其中查询是url的一部分

cat *.csv |curl http://localhost:8123/?query=INSERT%20INTO%20Myschema.persons%20FORMAT%20CSV' --data-binary @-
< P> >我不知道为什么你的卷曲不起作用,但我最好的猜测是Clickhouse有解析规则,它不能消耗你指定的格式,<代码> ${Que}} /代码>和<代码> ${CSV}这两个参数都是在最终HTTPURL中被'& '加上,而解析CLICKHOLD无法考虑这种情况。 引用clickhouse文档-

您可以在帖子正文或URL中发送查询本身 参数

传输数据的POST方法对于插入查询是必需的。 在这种情况下,您可以在URL中写入查询的开头 参数,并使用POST传递要插入的数据。要插入的数据 例如,可以是与MySQL分开的标签转储。这样,, INSERT查询将替换MySQL中的本地填充加载数据


查看此处了解更多详细信息和示例-

我认为您应该使用以下格式,其中查询是url的一部分

cat *.csv |curl http://localhost:8123/?query=INSERT%20INTO%20Myschema.persons%20FORMAT%20CSV' --data-binary @-
< P> >我不知道为什么你的卷曲不起作用,但我最好的猜测是Clickhouse有解析规则,它不能消耗你指定的格式,<代码> ${Que}} /代码>和<代码> ${CSV}这两个参数都是在最终HTTPURL中被'& '加上,而解析CLICKHOLD无法考虑这种情况。 引用clickhouse文档-

您可以在帖子正文或URL中发送查询本身 参数

传输数据的POST方法对于插入查询是必需的。 在这种情况下,您可以在URL中写入查询的开头 参数,并使用POST传递要插入的数据。要插入的数据 例如,可以是与MySQL分开的标签转储。这样,, INSERT查询将替换MySQL中的本地填充加载数据


查看此处了解更多详细信息和示例-

你是对的,这是固定的,但我会编辑你的答案,http部分应该是双引号。你是对的,这是固定的,但我会编辑你的答案,http部分应该是双引号。