1

我想知道amazons simpledb中的属性名称是否有任何限制。我尝试了以下属性名称

my.attribute.name

运行以下查询

select * from mydomain where my.attribute.name is not null

导致错误:“指定的查询表达式语法无效。 ”。围绕“my.attribute.name”也会导致错误,因为选择语法无效。

将点更改为下划线,一切正常:

my_attribute_name

并且查询运行良好

select * from mydomain where my_attribute_name is not null

现在我的问题是:属性允许使用哪些字符?在亚马逊开发人员手册中,名称仅限于在 xml 文档中有效的字符。这到底是什么意思?链接的 W3C 文档似乎没有回答这个问题。在域名中,点“.” 被允许。

目前我使用sdbTool。我希望这不会影响行为。

在属性名称中插入一些其他字符正在起作用,例如:'my:attribute-name.with other%20chars'。

有任何想法吗?

4

1 回答 1

1

您能否将您的属性名称用反引号括起来,然后再试一次?

域名和属性名称如果包含任何特殊字符,则需要用反引号引起来。如果属性和域名仅包含字母、数字、下划线 (_) 或美元符号 ($),则它们可能会出现不带引号的情况。如果所有其他属性和域名包含任何特殊字符,则必须用反引号 (`) 引用它们。

于 2012-11-28T05:16:00.153 回答