【发布时间】:2021-08-31 12:33:34
【问题描述】:
在 MySQL 中,我为我的数据库创建了两个表,以在 React 前端提供数据。这些表包含动物在某些组中分类的信息,当用户从组类别中添加或删除动物时,我想使组大小的“计数”成为动态的。 第一个表的每一行都有一个自动递增的 ID,还有动物名称和它当前所在的组:
| ID (auto-increment) | Animal | Group |
|---|---|---|
| 1 | Cat | Domestic |
| 2 | Dog | Domestic |
| 3 | Giraffe | Wild |
| 4 | Lion | Wild |
| 5 | Hyena | Wild |
在第二张表中,我正在跟踪每组中的动物数量:
| Group | Number in Group |
|---|---|
| Domestic | 2 |
| Wild | 3 |
我曾尝试在 Node.js 云函数中使用 SQL 命令来实现这一点
SELECT count(*)
FROM first_table
WHERE Group = "Group_name";
其中“Group_name”是特定的组,例如家养或野生。即使 SQL 查询运行,它也不会更新 Groups 表。
我曾尝试在 MySQL 中使用触发器,但即使使用硬编码的行,它仍然不会更新表。任何有关触发器或 SQL 语句的帮助都会很棒!
【问题讨论】:
-
请注意 group 是 MySQL 中的保留字,使其作为表/列标识符的选择很糟糕。而且我们通常不会存储派生数据
-
"即使 SQL 查询运行,它也不会更新....." 为什么 SQL 查询要进行更新?我认为有人发明了update 声明来做这些事情,但正如草莓所说,“我们通常不会存储派生数据”
标签: javascript mysql node.js