当前位置: 首页 > 面试题库 >

对同一表的列强制执行外键约束

呼延鸿畅
2023-03-14
问题内容

在下表中输入值时,如何在SQL的同一表的列上强制使用外键约束:

员工人数

  • 空号,
  • 经理编号(必须是现有员工)

问题答案:
CREATE TABLE TABLE_NAME (
    `empid_number`    int     (  11) NOT NULL auto_increment,   
    `employee`        varchar ( 100) NOT NULL               ,
    `manager_number`  int     (  11) NOT NULL               ,
     PRIMARY KEY  (`empid_number`),
     CONSTRAINT `manager_references_employee`
     FOREIGN KEY (`manager_number`) REFERENCES (`empid_number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

希望能帮助到你!



 类似资料:
  • 问题内容: 同一列可以对另一列具有主键和外键约束吗? 如果我尝试删除table1数据,这会成为问题吗? 谢谢。 问题答案: 这应该没有问题。考虑以下示例: 这些表现在包含: 现在我们可以成功删除这样的行: 但是,我们将无法删除以下内容: 如果我们使用选项定义了外键,那么我们将能够删除父项,并且所有子项都将被自动删除: 如果我们要重复之前失败的操作,则将删除其中的子行以及其中的父行:

  • 问题内容: 当我在数据库上运行mysqldump命令并尝试将其导入时,它会失败,因为它尝试按字母顺序创建表,即使它们可能具有稍后在文件中引用表的外键。似乎没有成为任何东西的文档,我已经找到答案,像这样是说,它的创建后,包括更新文件: 有没有办法自动设置这些行或以必要的顺序导出表(而不必手动指定所有表名,因为这可能很乏味且容易出错)?我可以将这些行包装在脚本中,但是想知道是否有一种简单的方法来确保我

  • 问题内容: 我定义了一个MySQL表: 我在这里阅读到MySQL不支持带条件的。对于每个 customerId, 我们只有一个 primaryImage = 1 。 那么我还能采取什么措施来强制执行此约束? 问题答案: 完美支持独特的约束。 但是,它不支持部分约束/索引,因此您需要使用而不是标记非主图像。 您可以将任意数量的值插入到每个客户中,但只能插入一个非空值。

  • 问题内容: 假设提供了以下映射: Java类: 是否可以更改Hibernate映射,以便 在启动时仍由Hibernate强制并创建外键 ,但类如下所示: 我知道,如果我将其转换为a 可以使用,但是数据库不会强制使用外键。 我需要执行此操作,因为对象可能会(或可能不会)单独初始化,这有时会导致 在调用时发生异常。我希望将其作为,并在必要时加载整个对象。这也将使对象的加载更快。 我相信我的问题与这一问

  • 问题内容: 进行了一次面试,下面是表格和结构 有人问 “选择所有母亲” “选择那些是“约翰·史密斯”和“简”的孩子 我很困惑,因为我假设外键会像往常一样与其他表链接。但是那时我失败了。有人知道实际答案和原因吗? 问题答案: 这种数据结构称为“自引用表” 和

  • 问题内容: 好吧,这是我的问题,我有3张桌子;地区,国家,州。国家可以在区域内部,州可以在区域内部。地区是食物链的顶端。 现在,我添加一个带有两列的Popular_areas表;region_id和Popular_place_id。是否可以将Popular_place_id用作国家 或 州的外键。我可能将不得不添加一个Popular_place_type列,以确定ID是否以任何一种方式描述一个国家