【发布时间】:2020-07-24 15:02:45
【问题描述】:
我需要在 PostgreSQL 的 Jira 配置中修复几行。不幸的是,它在列中使用点表示法,我无法很好地逃避它。
select * from "cwd_directory_attribute";
directory_id | attribute_name | attribute_value
1 | user_encryption_method | atlassian-security
10000 | ldap.user.filter | (objectclass=person)
没有转义:
psql:fix_directory.sql:1: ERROR: column "ldap" of relation "cwd_directory_attribute" does not exist
LINE 1: update cwd_directory_attribute set ldap.basedn='ou=sandbox,d...
单引号:
psql:fix_directory.sql:1: ERROR: syntax error at or near "'ldap.basedn'"
LINE 1: update cwd_directory_attribute set 'ldap.basedn'='ou=sandbox...
双引号: psql:fix_directory.sql:1:错误:关系“cwd_directory_attribute”的列“ldap.basedn”不存在 LINE 1:更新 cwd_directory_attribute set "ldap.basedn" ='ou=sandb...
方括号:
psql:fix_directory.sql:1: ERROR: syntax error at or near "["
LINE 1: update cwd_directory_attribute set [ldap.basedn] ='ou=sandb...
例如
update cwd_directory_attribute set "ldap.basedn" ='ou=sandbox,dc=eu' where directory_id=10100;
我找到了双引号应该起作用但它们不起作用的答案。我可以在某些 SQL 编辑器中手动修改列,但我想设置一个脚本:
psql -f fix_directory.sql jiradb7
UPDATE 过程中列的正确转义是什么?
更新:
select "ldap.secure" from "cwd_directory_attribute";
ERROR: syntax error at or near "select"
LINE 2: select "ldap.secure" from "cwd_directory_attribute";
【问题讨论】:
标签: postgresql