2.3.6 外键类

本节提供有关 类的信息,该类对表 ForeignKey的外键进行建模。NDB

ForeignKey 类概述

家长班

Object

儿童班

没有

方法

下表列出了 ForeignKey该类的公共方法以及每个方法的用途或用途:

表 2.19 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

外键::FkAction

本节提供有关 的信息FkAction,它是一个枚举,它在对父表执行更新或删除操作时对外键的引用操作进行建模。

枚举值

下表显示了可能的值以及相应的参考操作:

表 2.20 ForeignKey::FkAction 数据类型值和说明

姓名 描述
NoAction NO ACTION: 延期检查。
Restrict RESTRICT: 拒绝对父表的操作。
Cascade CASCADE:对父表的行进行操作;对子表中的匹配行执行相同的操作。
SetNull SET NULL:对父表的行进行操作;将子表中任何匹配的外键列设置为 NULL
SetDefault SET DEFAULT:目前 NDB Cluster 不支持。

另请参阅MySQL 手册中的 FOREIGN KEY Constraints

外键::获取名称()

描述

检索ForeignKey 为其调用该方法的实例的名称。

签名
const char* getName
    (
      void
    ) const
参数

没有

返回值

的名称ForeignKey

外键::getParentTable()

描述

ForeignKey检索调用该方法 的实例的父表 。

签名
const char* getParentTable
      (
        void
      ) const
参数

没有

返回值

指向 的父表的指针 ForeignKey

外键::getChildTable()

描述

ForeignKey检索调用该方法 的实例的子表 。

签名
const char* getChildTable
      (
        void
      ) const
参数

没有

返回值

指向 this 的子表的指针 ForeignKey

外键::getParentColumnCount()

描述

检索此 的父表中的列数 ForeignKey

签名
unsigned getParentColumnCount
      (
        void
      ) const
参数

没有

返回值

父表中的列数。

外键::getChildColumnCount()

描述

检索此 的子表中的列数 ForeignKey

签名
unsigned getChildColumnCount
      (
        void
      ) const
参数

没有

返回值

子表中的列数。

外键::getParentIndex()

描述

如果子表引用父表的主键,则返回 0。

签名
const char* getParentIndex
    (
      void
    ) const
参数

没有

返回值

见说明。

外键::getChildIndex()

描述

如果使用子表的主键解析子引用,则返回 0。

签名
const char* getChildIndex
    (
      void
    ) const
参数

没有

返回值

见说明。

外键::getParentColumnNo()

描述

此方法获取给定索引的父表中外键列的序列号。Column::getColumnNo()有关处理 NDB API 中的列的信息, 请参阅 的文档。

签名
int getParentColumnNo
    (
      unsigned no
    ) const
参数

没有

返回值

列的序号。

外键::getChildColumnNo()

描述

此方法获取给定索引的子表中外键列的序列号。Column::getColumnNo() 有关处理 NDB API 中的列的信息, 请参阅文档。

签名
int getChildColumnNo
    (
      unsigned no
    ) const
参数

没有

返回值

列的序号。

外键::getOnUpdateAction()

描述

获取外键的ON UPDATE 动作。这是 a ForeignKey::FkAction并且具有值NoActionRestrictCascade或 之一SetNull

签名
FkAction getOnUpdateAction
    (
      void
    ) const
参数

没有

返回值

列的序号。

外键::getOnDeleteAction()

描述

获取外键的ON DELETE 动作。这是 a ForeignKey::FkAction并且具有值NoActionRestrictCascade或 之一SetNull

签名
FkAction getOnDeleteAction
    (
      void
    ) const
参数

没有

返回值

列的序号。

外键::设置名称()

描述

设置ForeignKey调用该方法的实例的名称。

签名
void setName
    (
      const char*
    )
参数

的名称ForeignKey

返回值

没有

外键::设置父级()

描述

设置 a 的父表ForeignKey,给定表的引用,以及可选的用作外键的索引。

签名
void setParent
    (
      const Table&,
      const Index* index = 0,
      const Column* cols[] = 0
    )
参数

对 a 的引用Table (必填)。可选地,索引使用指定的一个或多个列。

返回值

没有

ForeignKey::setChild()

描述

设置 a 的子表ForeignKey,给定表的引用,以及可选的用作外键的索引。

签名
void setChild
    (
      const Table&,
      const Index* index = 0,
      const Column* cols[] = 0
    )
参数

对 a 的引用Table (必填)。可选地,索引使用指定的一个或多个列。

返回值

没有

外键::setOnUpdateAction()

描述

设置外键的ON UPDATE 动作。

签名
void setOnUpdateAction
  (
    FkAction
  )
参数

ON UPDATE要执行 的操作。这必须是 ForeignKey::FkAction具有值NoActionRestrictCascade或 之一的SetNull

返回值

没有任何

外键::setOnDeleteAction()

描述

设置外键的ON DELETE 动作。

签名
void setOnUpdateAction
  (
    FkAction
  )
参数

ON UPDATE要执行 的操作,类型为ForeignKey::FkAction。必须是值NoActionRestrictCascade或 之一SetNull

返回值

没有任何

外键::getObjectStatus()

描述

获取此对象的对象状态(请参阅 Object::StatusForeignKey

签名
virtual Object::Status getObjectStatus
    (
      void
    ) const
参数

没有

返回值

对象的ForeignKey状态,作为 type 的值 Object::Status。有关可能的值及其解释,请参阅此类型的文档。

外键::getObjectId()

描述

获取此对象的对象 ID(请参阅 Object::getObjectId()ForeignKey

签名
virtual int getObjectId
    (
      void
    ) const
参数

没有

返回值

对象的ForeignKeyID,由 返回 Object::getObjectId()

外键::getObjectVersion()

描述

获取此对象的对象版本(请参阅 Object::getObjectVersion()ForeignKey

签名
virtual int getObjectVersion
    (
      void
    ) const
参数

没有

返回值

对象的ForeignKey版本号(整数),由 返回 Object::getObjectVersion()