你能用sql中的例子给出主键和外键的解释吗?

时间:2014-02-19 09:05:32

标签: sql database

我创建了两个表,并在一个表中设置了外键,在另一个表中设置了主键..当我编写查询时,我没有获得主键值..请参阅下面的示例..

  1. employee表格 - 此处id是主键

  2. customer表 - 此处id是外键

  3. 当我要使用查询在customer表中插入一个值时,我没有得到主键值..我得到空值..

    请参阅我在第二个表中插入值的查询:

    insert into customer(cid, Firstname, Lastname, id)
    values(02, 'giri', 'raj', 001)
    

    所以请解释一下......

1 个答案:

答案 0 :(得分:1)

主键外键用于对存储在列中的数据值实施约束。

他们不会在任何数据库中以任何方式访问这些值(据我所知),所以无论你在哪个数据库工作,你想要实现的目标总是会失败。

你应该详细研究这些概念,但简短的说法是:

  

我们为什么要创建主键

     

首先,我们需要一个 来唯一标识一行中的一行   数据表。可以通过单个唯一标识行   列,或一组列(复合键)。基于   方案,您定义了一个主键,它可以独一无二地帮助您   识别表格中的行。

     

为什么我们需要外键

     

外键帮助我们实现 参照完整性   约束 即可。参考,意味着你指的是什么   存储在其他表中,就像您在示例中一样。我们定义   这样的约束来强制执行数据一致性(在某种程度上)   实体。例如,您有一个DEPARTMENTS表,用于存储   所有部门ID。现在,您更愿意创建外键   从您的Employees表中,以确保没有人插入记录   不存在的DepartmentID,但您可以插入NULL 。这是其中之一   你能说的最简单的事情。