gpt4 book ai didi

mysql - 填充 MySQL 数据库中的字段

转载 作者:搜寻专家 更新时间:2023-10-30 23:16:12 24 4
gpt4 key购买 nike

我目前在MySQL数据库中一共创建了12张表。其中 11 个表共享相关数据并相互建立索引。我在填充表的每个单独字段中的值并确保它们正确索引时遇到了一些困难。我想知道是否有一种更简单的方法可以为一条记录填充所有表中的每个字段,而无需手动执行,并且不必担心正确的 foreign_key 与另一个表匹配(索引)。可能查询可以完成这项工作,但我不确定如何构建这样的查询。或与此示例具体相关的任何其他建议。

如果您想在我的数据库中创建表的精确副本,下面是表设计和查询的链接。

TABLE STRUCTURE/DESIGN

QUERY FOR CREATING ALL TABLES

最佳答案

根据上一个问题中的表,您需要先在独立表(或基表)上INSERT 记录。其中一些表是eventsemesterMajor_Minor 等。这些被称为独立表是因为没有外键约束 已定义。

在独立表上插入的示例查询,

-- INSERTING records on table event
INSERT INTO event (ID, event_description, event_datetime) VALUES
(1, 'hello', NOW()),
(2, 'world', NOW()),
(3, 'stack', NOW()),
(4, 'overflow', NOW());

-- INSERTING records on table semester
INSERT INTO semester (ID, SEMESTER_NAme) VALUES
(1, 'First Semester'),
(2, 'Second Semester'),
(3, 'Summer');

-- INSERTING records on table Major_Minor
INSERT INTO Major_Minor (ID, Major_Minor_Name) VALUES
(1, 'Math'),
(2, 'Science'),
(3, 'English');

-- INSERTING records on table class
INSERT INTO class (ID, class_name) VALUES
(1, 'Alpha'),
(2, 'Beta'),
(3, 'Gamma'),
(4, 'Omega');

插入记录后,您现在可以在相关表上INSERT。这些被称为从属 表,因为在它们上面定义了外键约束。您不能在其他表中不存在的某些字段上添加值。从属表的示例是 Major_Class_br 表,

-- INSERTING records on table Major_Class_br
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES
(1,1,1),
(2,1,2),
(3,1,3),
(4,2,1),
(5,2,1),
(6,4,2);

如您所见,Class_IDMajor_Minor_ID 的值已经存在于表中:classMajor_Minor 因为表 Major_Class_br 依赖于它们。为了进一步说明这一点,请尝试执行下面的查询,其中 Class_ID 的值在 Class 表中尚不存在,

INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);

你会看到这个错误

Schema Creation Failed: Cannot add or update a child row: a foreign key constraint fails (databaseName.major_class_br, CONSTRAINT cc_fk1 FOREIGN KEY (Class_ID) REFERENCES class (ID)):

关于mysql - 填充 MySQL 数据库中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com