gpt4 book ai didi

mysql - 如何更新mysql中的子表

转载 作者:行者123 更新时间:2023-11-29 21:23:27 28 4
gpt4 key购买 nike

我这里有一个示例表。

事件表

+-------------+----------------------+
| incident_id | incident_description |
+-------------+----------------------+
| 1 | Accident |
| 2 | Homicide |
| 3 | Theft |
+-------------+----------------------+

事件详细信息表:

+--------------------+-------------+-------------+
| incident_detail_id | person_name | incident_id |
+--------------------+-------------+-------------+
| 1 | errol | 1 |
| 2 | neo | 1 |
| 3 | aj | 1 |
| 4 | mark | 2 |
| 5 | calma | 2 |
| 6 | allan | 2 |
| 7 | dave | 3 |
| 8 | paul | 3 |
+--------------------+-------------+-------------+

我提供了一个类似于 View 的 GridView ,允许用户在 Incident_detail 表中删除和添加项目。我的问题是,如何更新 event_detail 表?我可以添加新项目,但可以删除。我不知道。我应该清空整个表并插入用户添加的新项目吗?但这里的问题是,未删除的现有项目将被删除并再次插入。

最佳答案

如果您不关心 incident_detail_id 列的增量超出其需要,您只需删除并重新插入记录,无论您是否更改了事件的详细信息。

它使 SQL 代码变得更简单,但这确实意味着每次编辑时您的 ID 都会增加。假设您自动递增。

Homicide添加详细信息后,您最终会得到:

+--------------------+-------------+-------------+
| incident_detail_id | person_name | incident_id |
+--------------------+-------------+-------------+
| 1 | errol | 1 |
| 2 | neo | 1 |
| 3 | aj | 1 |
| 9 | mark | 2 |
| 10 | calma | 2 |
| 11 | allan | 2 |
| 12 | new | 2 |
| 7 | dave | 3 |
| 8 | paul | 3 |
+--------------------+-------------+-------------+

如果您对此感到满意:

DELETE FROM incident_detail WHERE incident_id = 2;

INSERT INTO incident_detail (person_name, incident_id)
VALUES
('mark', 2)
('calma', 2)
('allan', 2)
('new', 2);

关于mysql - 如何更新mysql中的子表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617071/

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