当我们在MySQL数据库中有关系约束时如何插入数据

业力

我正在为我的数据库课程学习本书该数据库有6个表。从其中的6个表格中,我将发布其中两个表格。

/*EMPLOYEE Table */
CREATE TABLE EMPLOYEE( 
    Fname VARCHAR(15) NOT NULL,
    Minit CHAR,
    Lname VARCHAR(15) NOT NULL,
    Ssn CHAR(9) NOT NULL,
    Bdate DATE,
    Address VARCHAR(30),
    Sex CHAR,
    Salary DECIMAL(10,2),
    Super_ssn CHAR(9),
    Dno INT NOT NULL,
    PRIMARY KEY (Ssn),
    FOREIGN KEY (Super_ssn) REFERENCES EMPLOYEE(Ssn)
    FOREIGN KEY (Dno) REFERENCES DEPARTMENT(Dnumber) );

雇员表具有递归关系,以显示“一个雇员是另一名雇员的主管”。它还引用DEPARTMENT表以显示员工在部门中工作。以下是DEPARTMENT表的架构。

CREATE TABLE DEPARTMENT( 
    Dname VARCHAR(15) NOT NULL,
    Dnumber INT NOT NULL,
    Mgr_ssn CHAR(9) NOT NULL,
    Mgr_start_date DATE,
    PRIMARY KEY (Dnumber),
    UNIQUE (Dname),
    FOREIGN KEY (Mgr_ssn) REFERENCES EMPLOYEE(Ssn) 
    );

DEPARTMENT表引用了employee表,以表明该雇员管理一个部门。当插入诸如

    insert into EMPLOYEE values
    ('John','B','Smith','123456789','1965-01-09','731 Fondren, Houston, TX',
     'M',30000,'333445555',5);

我们将无法执行上述查询,因为存在参照完整性FOREIGN KEY (Super_ssn) REFERENCES EMPLOYEE(Ssn)如果我尝试下面的查询也一样

insert into department values ('Research',5,'333445555','1988-05-22');

由于employee表中没有数据,因此上述查询将不会执行。我的问题是我们应该首先插入数据,然后更改表并强制执行参照完整性约束。还是有办法解决。您的建议/建议将不胜感激。谢谢你。

安基·德什潘德(Ankit Deshpande)

外键可以具有空值因此,您可以输入将外键值设置为null的值,例如最顶层的主管,他的上方将没有主管。

因此,通常的想法是从下至上输入数据,例如在没有外键的表中输入值,然后在引用该表的表顶部输入值,依此类推...

确切的方法将取决于其余的您在示例中使用的表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我的html中有两个不同的名称时,如何在数据库中插入数据?

来自分类Dev

当我在数据库中有以下类型的数据时如何检索数据?

来自分类Dev

当我们有大量数据时如何在 php 中使用数据表

来自分类Dev

当我尝试在 MySQL 中将数据插入数据库时遇到问题

来自分类Dev

当我使用C#在数据库中有相同记录时返回false

来自分类Dev

当我插入数据库时出现SqlException错误

来自分类Dev

当我们单击注销时,如果我们在不使用数据库的情况下检查记忆,则必须记住用户名

来自分类Dev

我们如何在MySQL中列出空数据库?

来自分类Dev

如何避免在我的数据库中有重复的数据?

来自分类Dev

如何将msAccess数据库迁移到具有关系的MySQL?

来自分类Dev

我们如何从Amazon Web Services中的其他区域访问关系数据库系统

来自分类Dev

仅当我通过USE数据库选择数据库时,mysql复制才有效

来自分类Dev

当我导出MySQL数据库时,导出后会删除数据库中的所有内容吗?

来自分类Dev

关系数据库:我们什么时候需要添加更多实体?

来自分类Dev

当我想使用JdbcOdbc Bridge驱动程序将数据插入mysql时,没有出现数据库选择错误,

来自分类Dev

在关系数据库中,我们可以有一个与其他表没有任何关系的表吗?

来自分类Dev

当我更新数据库时,插入..... vb.net时不会插入信息。

来自分类Dev

使用LINQ to SQL时类之间的关系(数据库中没有关系)

来自分类Dev

我们如何使用DbConnection类连接和从数据库获取数据

来自分类Dev

我们如何在 Android 中使用 MySQL 数据库值创建多个微调器?

来自分类Dev

当我插入数据时,它在数据库中显示为“ 1”-php,sql

来自分类Dev

当我尝试将数据插入数据库时,应用程序崩溃

来自分类Dev

为什么我们不能使用自己的mysql数据库而不是django数据库?

来自分类Dev

当我们从 Firebase 实时数据库中删除或更新项目时,项目在适配器中重复

来自分类Dev

当我们有相同的数据时,哪种文件格式最小?

来自分类Dev

具有外键约束的关系数据库如何摄取可能顺序错误的数据?

来自分类Dev

打开连接的Excel文件时,我们可以修改数据库吗?

来自分类Dev

数据库播种 这是我们使用的原因

来自分类Dev

当我们向它添加事件时如何从android日历获取数据?

Related 相关文章

  1. 1

    当我的html中有两个不同的名称时,如何在数据库中插入数据?

  2. 2

    当我在数据库中有以下类型的数据时如何检索数据?

  3. 3

    当我们有大量数据时如何在 php 中使用数据表

  4. 4

    当我尝试在 MySQL 中将数据插入数据库时遇到问题

  5. 5

    当我使用C#在数据库中有相同记录时返回false

  6. 6

    当我插入数据库时出现SqlException错误

  7. 7

    当我们单击注销时,如果我们在不使用数据库的情况下检查记忆,则必须记住用户名

  8. 8

    我们如何在MySQL中列出空数据库?

  9. 9

    如何避免在我的数据库中有重复的数据?

  10. 10

    如何将msAccess数据库迁移到具有关系的MySQL?

  11. 11

    我们如何从Amazon Web Services中的其他区域访问关系数据库系统

  12. 12

    仅当我通过USE数据库选择数据库时,mysql复制才有效

  13. 13

    当我导出MySQL数据库时,导出后会删除数据库中的所有内容吗?

  14. 14

    关系数据库:我们什么时候需要添加更多实体?

  15. 15

    当我想使用JdbcOdbc Bridge驱动程序将数据插入mysql时,没有出现数据库选择错误,

  16. 16

    在关系数据库中,我们可以有一个与其他表没有任何关系的表吗?

  17. 17

    当我更新数据库时,插入..... vb.net时不会插入信息。

  18. 18

    使用LINQ to SQL时类之间的关系(数据库中没有关系)

  19. 19

    我们如何使用DbConnection类连接和从数据库获取数据

  20. 20

    我们如何在 Android 中使用 MySQL 数据库值创建多个微调器?

  21. 21

    当我插入数据时,它在数据库中显示为“ 1”-php,sql

  22. 22

    当我尝试将数据插入数据库时,应用程序崩溃

  23. 23

    为什么我们不能使用自己的mysql数据库而不是django数据库?

  24. 24

    当我们从 Firebase 实时数据库中删除或更新项目时,项目在适配器中重复

  25. 25

    当我们有相同的数据时,哪种文件格式最小?

  26. 26

    具有外键约束的关系数据库如何摄取可能顺序错误的数据?

  27. 27

    打开连接的Excel文件时,我们可以修改数据库吗?

  28. 28

    数据库播种 这是我们使用的原因

  29. 29

    当我们向它添加事件时如何从android日历获取数据?

热门标签

归档