Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能用sql中的例子解释主键和外键吗_Sql_Database - Fatal编程技术网

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

你能用sql中的例子解释主键和外键吗,sql,database,Sql,Database,我创建了两个表,在一个表中设置了外键,在另一个表中设置了主键。。当我编写查询时,我没有得到主键值。。请看下面我的例子 employee表——这里的id是主键 customer表——这里的id是外键 当我打算使用query在customer表中插入一个值时,我没有得到主键值。。我得到的是空值 请参见我在第二个表中插入值的查询: insert into customer(cid, Firstname, Lastname, id) values(02, 'giri', 'raj', 001) 所以请

我创建了两个表,在一个表中设置了外键,在另一个表中设置了主键。。当我编写查询时,我没有得到主键值。。请看下面我的例子

  • employee
    表——这里的
    id
    是主键

  • customer
    表——这里的
    id
    是外键

  • 当我打算使用query在customer表中插入一个值时,我没有得到主键值。。我得到的是空值

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

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

    所以请解释一下……

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

    他们不会以任何方式访问任何数据库中的值(据我所知),因此无论您使用哪个数据库,您试图实现的目标都将失败

    您应该详细研究这些概念,但有一点需要注意:

    为什么要创建主键

    首先,我们需要一个键来唯一地标识 数据表。行可以由单个 列,或一组列(复合键)。基于 在场景中,您定义了一个主键,它可以帮助您 标识表中的行

    为什么我们需要外键

    外键帮助我们实现引用完整性 约束条件。指的是当你指的是某物时 存储在另一个表中,如示例中所示。我们定义 这样的约束(在某种程度上)强制执行某些特定的数据一致性 实体。例如,您有一个
    部门
    表,其中存储 所有的部门ID。现在,您希望创建一个外键 从Employees表中,确保没有人插入带有 不存在部门ID,但您可以插入NULL。这是其中之一 你能联系到的最简单的事情


    您使用的是什么数据库?您应该为表提供create语句。您是否有id为001的员工?否则你的插入将失败。当你插入-你插入值时,你不会“获取”任何值。好的..谢谢..现在工作正常..谢谢你的解释..实际上id应该在单引号中正确..我没有引用..但现在我得到。。