我有两张桌子
"Cannot invoke 'getObjectInBackgroundWithId' with an argument list of type (string, block: (PFObject!,NSError?) -> Void"
{ID,name,...} var result = PFQuery(className: "posts")
result.getObjectInBackgroundWithId("kk", block: {
(object: PFObject, error: NSError?) -> Void in
object["pLikes"] = object["pLikes"] + 1
object.save()
})
{PersonId,Infected} - 这始终是一对一的映射是否可以将Person
用作PeopleInfected
表中的主键,还是应该为PersonId
创建单独的PeopleInfected
列。
我希望将Id
保留在另一个表格中,因为我不想用PeopleInfected
填写此类信息。
答案 0 :(得分:2)
这称为垂直分区,可能有几个原因可以做到,虽然"节省空间" (顺便说一句,nulls不占用太多空间)并不是最常见的原因(更好的理由是数据的访问模式不同)。
执行垂直分区的常用方法是使用外键,但使用相同的ID(没有外键)应该是OK(ish)。
可能的问题是,有时ID是由RDBMS或ORM(例如实体框架)自动生成的,强制它使用指定的ID可能并不简单。另一个可能的问题是你被迫先插入Person表。
答案 1 :(得分:1)
是的,没关系。组合2个表通常更常见,但如果您有特殊原因不这样做(例如,辅助表的填充率低),那就没关系