簡體   English   中英

bash中的psql非常奇怪的錯誤

[英]psql in bash very strange error

我在bash中的psql查詢有問題。

我真的不知道為什么PSQL理解HUB的價值是一欄。

psql -q -A -h Some_host -U用戶-d datashema -p 1111 -t -f query.txt -c'選擇ID,文本來自great_201704 WHERE ID = 10且文本='HUB';'

錯誤:great_201704中不存在“集線器”列

您讀單引號時就好像它們嵌套了一樣:

-c 'SELECT id, text FROM great_201704 WHERE id = 10 and text = 'HUB' ;'
   ^---------------------------------1--------------------------------^
                                                               ^-2-^

Bash將它們讀取為兩個單引號字符串,並且它們之間有一個文字:

-c 'SELECT id, text FROM great_201704 WHERE id = 10 and text = 'HUB' ;'
   ^------------------------------1----------------------------^
                                                                   ^2-^

這等效於在HUB周圍沒有單引號,這就是為什么psql認為它是一列。

將一組引號嵌入另一個字符串的最簡單方法是只使用兩種不同類型的引號:

psql -q -A -h Some_host -U User -d datashema -p 1111 -t -f query.txt \
    -c "SELECT id, text FROM great_201704 WHERE id = 10 and text = 'HUB' ;"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM