如何解决从命令行使用 psql 时的单引号
我正在尝试从命令行运行这个简单的 psql 命令,但不存在获取列 ns。我确定我错过了一些非常愚蠢的东西。
psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='NS' where id <> 123;'
错误:“ns”列不存在
我尝试将 E'NS' 转义为 'NS' 但没有成功..
谢谢
解决方法
这确实是一个 shell
问题,例如 here。
适合您的问题:
psql -U myuser -p 6432 -h myhost -d mydb-c 'update schema.table set column ='"'"'NS'"'"' where id <> 123;'
注意:有时,当您有多个级别的参数传递给嵌套的 shell 调用时,使用单引号的八进制形式也有好处:
echo "\047"
# '
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。