本节提供有关 ForeignKey
类的信息,该类模拟 NDB
表上的外键。
- 父类
- 子类
无.
- 方法
-
下表列出了
ForeignKey
类的公共方法以及每个方法的用途或用法表 2.20 ForeignKey 类方法和说明
名称 说明 ForeignKey()
类构造函数 ~ForeignKey()
类析构函数 getName()
获取外键的名称 getParentTable()
获取外键的父表 getChildTable()
获取外键的子表 getParentColumnCount()
获取父表中的列数 getChildColumnCount()
获取子表中的列数 getParentColumnNo()
获取父表中的列号 getChildColumnNo()
获取子表中的列号 getParentIndex()
如果键指向父表的主键,则返回 0 getChildIndex()
如果使用子表的主键解析子引用,则返回 0 getOnUpdateAction()
获取外键的更新操作 ( FkAction
)getOnDeleteAction()
获取外键的删除操作 ( FkAction
)setName()
设置外键的名称 setParent()
设置外键的父表 setChild()
设置外键的子表 setOnUpdateAction()
设置外键的更新操作 ( FkAction
)setOnDeleteAction()
设置外键的删除操作 ( FkAction
)getObjectStatus()
获取对象状态 getObjectId()
获取对象 ID getObjectVersion()
获取对象版本
- 类型
ForeignKey
类有一个公共类型,即FkAction
类型。
- 说明
创建全新的外键引用或现有外键引用的副本。
- 签名
-
新实例
ForeignKey ( void )
复制构造函数
ForeignKey ( const ForeignKey& )
- 参数
-
对于新实例:无。
对于复制构造函数:对
ForeignKey
的现有实例的引用。 - 返回值
ForeignKey
的新实例。
- 说明
检索调用该方法的
ForeignKey
实例的父表。- 签名
const char* getParentTable ( void ) const
- 参数
无.
- 返回值
指向
ForeignKey
的父表的指针。
- 说明
检索调用该方法的
ForeignKey
实例的子表。- 签名
const char* getChildTable ( void ) const
- 参数
无.
- 返回值
指向此
ForeignKey
的子表的指针。
- 说明
此方法获取给定索引的父表中外键列的序号。有关在 NDB API 中处理列的信息,请参阅
Column::getColumnNo()
的文档。- 签名
int getParentColumnNo ( unsigned no ) const
- 参数
无.
- 返回值
列的序号。
- 说明
此方法获取给定索引的子表中外键列的序号。有关在 NDB API 中处理列的信息,请参阅
Column::getColumnNo()
的文档。- 签名
int getChildColumnNo ( unsigned no ) const
- 参数
无.
- 返回值
列的序号。
- 说明
获取外键的
ON UPDATE
操作。这是ForeignKey::FkAction
,并且具有NoAction
、Restrict
、Cascade
或SetNull
之一的值。- 签名
FkAction getOnUpdateAction ( void ) const
- 参数
无.
- 返回值
列的序号。
- 说明
获取外键的
ON DELETE
操作。这是ForeignKey::FkAction
,并且具有NoAction
、Restrict
、Cascade
或SetNull
之一的值。- 签名
FkAction getOnDeleteAction ( void ) const
- 参数
无.
- 返回值
列的序号。
- 说明
设置
ForeignKey
的父表,给定表的引用,以及可选的用作外键的索引。- 签名
void setParent ( const Table&, const Index* index = 0, const Column* cols[] = 0 )
- 参数
对
Table
的引用(必需)。可选,使用指定列或多列的索引。- 返回值
无.
- 说明
设置
ForeignKey
的子表,给定表的引用,以及可选的用作外键的索引。- 签名
void setChild ( const Table&, const Index* index = 0, const Column* cols[] = 0 )
- 参数
对
Table
的引用(必需)。可选,使用指定列或多列的索引。- 返回值
无.
- 说明
设置外键的
ON UPDATE
操作。- 签名
void setOnUpdateAction ( FkAction )
- 参数
要执行的
ON UPDATE
操作。这必须是ForeignKey::FkAction
,其值为NoAction
、Restrict
、Cascade
或SetNull
之一。- 返回值
无
- 说明
设置外键的
ON DELETE
操作。- 签名
void setOnUpdateAction ( FkAction )
- 参数
要执行的
ON UPDATE
操作,类型为ForeignKey::FkAction
。必须是NoAction
、Restrict
、Cascade
或SetNull
之一。- 返回值
无
- 说明
获取此
ForeignKey
对象的对象状态(请参阅 Object::Status)。- 签名
virtual Object::Status getObjectStatus ( void ) const
- 参数
无.
- 返回值
ForeignKey
对象的状态,作为Object::Status
类型的值。有关可能的值及其解释,请参阅此类型的文档。
- 说明
获取此
ForeignKey
对象的对象 ID(请参阅 Object::getObjectId())。- 签名
virtual int getObjectId ( void ) const
- 参数
无.
- 返回值
ForeignKey
对象的 ID,由Object::getObjectId()
返回。
- 说明
获取此
ForeignKey
对象的对象版本(请参阅 Object::getObjectVersion())。- 签名
virtual int getObjectVersion ( void ) const
- 参数
无.
- 返回值
ForeignKey
对象的版本号(整数),由Object::getObjectVersion()
返回。