Mysql表不反映新的更改

Mysql表不反映新的更改,mysql,command-line,count,create-table,Mysql,Command Line,Count,Create Table,我在“college2”数据库中使用命令行创建了4个表: mysql> SHOW TABLES; +--------------------+ | Tables_in_college2 | +--------------------+ | course | | enrolment | | enrolment_status | | student | +--------------------+ 4 rows in set

我在“college2”数据库中使用命令行创建了4个表:

mysql> SHOW TABLES;
+--------------------+
| Tables_in_college2 |
+--------------------+
| course             |
| enrolment          |
| enrolment_status   |
| student            |
+--------------------+
4 rows in set (0.00 sec)
incorporation\u status
从表
incorporation
中统计每门课程的注册学生人数,并使用以下命令行创建:

CREATE TABLE enrolment_status SELECT code, count(id) FROM enrolment
GROUP BY code;
当我将一条新记录插入
登记
表时,我希望看到
登记状态
表中出现相应的更改,但
登记状态
表保持不变,不反映新插入的记录


如何更正此问题?

使用另一个表创建表,因为数据源为目标表提供了源表中数据的一次性快照。因此,在
注册
中进行后续插入不会反映在
注册状态
中。最接近您的想法可能是在
登记
表的顶部创建一个视图:

CREATE VIEW enrolment_view AS
SELECT code, COUNT(id)
FROM enrolment
GROUP BY code;

视图<代码>注册\ u视图将反映对基础表<代码>注册的更改,包括新插入的记录。但是,无法将记录直接插入此视图。

使用另一个表创建表,因为数据源为目标表提供了源表中数据的一次性快照。因此,在
注册
中进行后续插入不会反映在
注册状态
中。最接近您的想法可能是在
登记
表的顶部创建一个视图:

CREATE VIEW enrolment_view AS
SELECT code, COUNT(id)
FROM enrolment
GROUP BY code;

视图<代码>注册\ u视图将反映对基础表<代码>注册的更改,包括新插入的记录。但是,不可能直接将记录插入此视图。

Tim,正如您所说,它工作得很好。非常感谢你的帮助!蒂姆,正如你所说,它工作得很好。非常感谢你的帮助!