【发布时间】:2014-09-03 21:26:24
【问题描述】:
我正在尝试使用 orientdb 数据库中的 id 字段获取记录,但它没有返回记录。
这是记录(它适用于简单的选择):
orientdb {baasbox}> select from _bb_order
----+-----+-----+------+------+------+-------+--------+---------+---------+---------+----- ----+---------+---------+---------+---------+-------------
# |@RID |price|_links|_allow|_audit|_author|verbatim|timestamp|audioLeng|orderURI |transcrip|_creation|id |fileId |feedbackI|status
----+-----+-----+------+------+------+-------+--------+---------+---------+---------+---------+---------+---------+---------+---------+-------------
0 |#22:1|0 |#11:9 |[1] |#3:7 |k |false |false |60 |TC0448...| |2014-0...|249373...|8a9ca9...|0540df...|Order rece...
----+-----+-----+------+------+------+-------+--------+---------+---------+---------+---------+---------+---------+---------+---------+-------------
1 item(s) found. Query executed in 0.003 sec(s).
当我从 _bb_order 模式中选择 id 时,我可以获得记录。
orientdb {baasbox}> select id from _bb_order
----+-----+------------------------------------
# |@RID |id
----+-----+------------------------------------
0 |#-2:1|24937309-9189-484d-b406-6302b2ce9b6f
----+-----+------------------------------------
1 item(s) found. Query executed in 0.003 sec(s).
但是,当我在“id”属性上使用 where 子句时,我无法恢复记录。
orientdb {baasbox}> select from _bb_order where id="24937309-9189-484d-b406-6302b2ce9b6f"
0 item(s) found. Query executed in 0.001 sec(s).
当我使用一些其他属性(如 fileId)时,我可以获得记录。
orientdb {baasbox}> select from _bb_order where fileId="8a9ca9d2-bbe2-4326-aa2b-bad5f2032fbd"
----+-----+-----+------+------+------+-------+--------+---------+---------+---------+---------+---------+---------+---------+---------+-------------
# |@RID |price|_links|_allow|_audit|_author|verbatim|timestamp|audioLeng|orderURI |transcrip|_creation|fileId |id |feedbackI|status
----+-----+-----+------+------+------+-------+--------+---------+---------+---------+---------+---------+---------+---------+---------+-------------
0 |#22:1|0 |#11:9 |[1] |#3:7 |k |false |false |60 |TC0448...| |2014-0...|8a9ca9...|249373...|0540df...|Order rece...
----+-----+-----+------+------+------+-------+--------+---------+---------+---------+---------+---------+---------+---------+---------+-------------
1 item(s) found. Query executed in 0.002 sec(s).
确认Id字段在代码中存储为String。
对为什么会发生这种情况有任何想法吗?
【问题讨论】:
-
您对_bb_order.id 有任何索引吗?尝试:EXPLAIN select from _bb_order where id="24937309-9189-484d-b406-6302b2ce9b6f"
-
这个数据库会损坏吗?就像几乎没有关机什么的。
-
@enisher:每次我需要删除数据库时,我都必须手动删除整个数据库。这是因为当我使用 drop database 命令然后创建新数据库时,在创建用户后登录时出现错误。我意识到这可能是一件坏事,但它确实解决了登录问题。
-
@riccardo.tasso:我不知道 _bb_order.id 上是否有任何索引。我尝试了“重建索引 *”,它奏效了。如果问题重复出现,我会在此处发布并尝试使用说明命令。
标签: sql database database-schema orientdb mbaas