Mysql 表格没有反映新的变化
Mysql tables does not reflect new changes
我在 'college2' 数据库中使用命令行创建了 4 tables:
mysql> SHOW TABLES;
+--------------------+
| Tables_in_college2 |
+--------------------+
| course |
| enrolment |
| enrolment_status |
| student |
+--------------------+
4 rows in set (0.00 sec)
tableenrolment_status
从tableenrolment
统计每门课程的注册学生人数,使用以下命令行创建:
CREATE TABLE enrolment_status SELECT code, count(id) FROM enrolment
GROUP BY code;
当我向 enrolment
table 插入一条新记录时,我希望在 enrolment_status
table 中看到相应的变化,但是 enrolment_status
table保持不变,不反映新插入的记录。
我该如何纠正?
使用 CREATE TABLE
和另一个 table 作为数据源为目标 table 提供源 table 中数据的一次性快照。因此,在 enrolment
中进行后续插入不会反映在 enrolment_status
中。最接近您的想法的可能是在 enrolment
table:
之上创建一个视图
CREATE VIEW enrolment_view AS
SELECT code, COUNT(id)
FROM enrolment
GROUP BY code;
视图 enrolment_view
将反映对基础 table enrolment
的更改,包括新插入的记录。但是,无法将记录直接插入此视图。
我在 'college2' 数据库中使用命令行创建了 4 tables:
mysql> SHOW TABLES;
+--------------------+
| Tables_in_college2 |
+--------------------+
| course |
| enrolment |
| enrolment_status |
| student |
+--------------------+
4 rows in set (0.00 sec)
tableenrolment_status
从tableenrolment
统计每门课程的注册学生人数,使用以下命令行创建:
CREATE TABLE enrolment_status SELECT code, count(id) FROM enrolment
GROUP BY code;
当我向 enrolment
table 插入一条新记录时,我希望在 enrolment_status
table 中看到相应的变化,但是 enrolment_status
table保持不变,不反映新插入的记录。
我该如何纠正?
使用 CREATE TABLE
和另一个 table 作为数据源为目标 table 提供源 table 中数据的一次性快照。因此,在 enrolment
中进行后续插入不会反映在 enrolment_status
中。最接近您的想法的可能是在 enrolment
table:
CREATE VIEW enrolment_view AS
SELECT code, COUNT(id)
FROM enrolment
GROUP BY code;
视图 enrolment_view
将反映对基础 table enrolment
的更改,包括新插入的记录。但是,无法将记录直接插入此视图。