Objective c sqlite中的外键定义
在Objective c中使用sqlite时,是否有任何方法可以定义表之间的关系并在表之间提供外键?您可以在sqlite中使用外键,方法与在其他sql数据库系统中使用外键的方法相同,但请注意,sqlite中的外键约束不会被检查/强制执行 SQLite不是一个“真正的”关系数据库,您可以有链接到其他表主键的字段,但您必须从代码中控制所有字段。Objective c sqlite中的外键定义,objective-c,sqlite,foreign-keys,Objective C,Sqlite,Foreign Keys,在Objective c中使用sqlite时,是否有任何方法可以定义表之间的关系并在表之间提供外键?您可以在sqlite中使用外键,方法与在其他sql数据库系统中使用外键的方法相同,但请注意,sqlite中的外键约束不会被检查/强制执行 SQLite不是一个“真正的”关系数据库,您可以有链接到其他表主键的字段,但您必须从代码中控制所有字段。 与删除相同,没有级联或其他完整性控件。您可以像在任何其他sql数据库系统中一样在sqlite中定义外键关系,但要实际执行它们,您需要额外的触发器。可以使用s
与删除相同,没有级联或其他完整性控件。您可以像在任何其他sql数据库系统中一样在sqlite中定义外键关系,但要实际执行它们,您需要额外的触发器。可以使用sqlite官方发行版附带的工具从数据库方案自动编译这些内容
这个解决方案的最大优点是它与编程语言无关。一旦设置完成,您就不必再关心源代码中的触发器了。有关更多信息,请参阅。如果您使用Cocoa CoreData框架并定义托管对象模型,使用SQLite作为持久存储-您可以指定模型之间的关系,并指定删除规则(如级联或拒绝),这些规则将在您从Objective-C更改实体时执行和验证,并在保存时提交回数据库 关系和规则与数据库外键规则非常相似,但由objective-C运行时内的CoreData框架执行。SQLite数据库只是用作托管对象图的持久性存储 在苹果开发者网站:
注意:这个框架是特定于Cocoa的,您的问题没有明确提到使用Cocoa,只是Objective-C您可以通过向SQL create命令添加外键语句轻松创建外键 例如,当有个人和地址实体时:
- 创建person表: 如果不存在,则创建表PERSON(ID INTEGER主键自动递增、FIRSTNAME文本、LASTNAME文本)
- 创建地址表: 如果不存在,则创建表地址(ID整数主键自动递增、STREETNAME文本、STREETNUMBER INT、PERSONID INT、外键(PERSONID)引用PERSON(ID))
谢谢。有可用的示例代码吗?我想使用Objective cI以编程方式实现它,不知道Objective-C,只知道SQLite。表“table1”中有1个字段pk_table1,表“table2”中有1个字段fk_table1。如果更新“fk_table1”,在Objective-C代码中,检查新值是否存在于“pk_table1”中,依此类推。。。还没有找到任何其他方法来做这件事。看到了吗