当从命令行使用PSQL时,单引号



我试图从命令行运行这个简单的psql命令,并获得列ns不存在。我肯定我错过了一些很傻的东西。

psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='NS' where id <> 123;'

ERROR: column "ns"不存在

我试图将E'NS'转换为'NS',但没有成功。

感谢

这是一个真正的shell问题,并在这里给出答案。

适合你的问题:

psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='"'"'NS'"'"' where id <> 123;'

注意:有时,当您有几个层次的参数传递给嵌套的shell调用时,使用单引号的八进制形式也可能是有益的:

echo "47"
# '

最新更新