我有单元格表和区域表。当我将数据插入单元格表(仅单元格id、单元格名称和区域id)时,它将触发,并从区域表中查找区域id,同时更新单元格表的区域id值。belove是我的单元格表和区域表;
+---------+-----------+-----------+-------------+
| cell_id | cell_name | region_id | district_id |
+---------+-----------+-----------+-------------+
| 000001 | cell1 | 1 | |
| 000006 | cell6 | 6 | |
| 000005 | cell5 | 5 | |
| 000004 | cell4 | 4 | |
| 000003 | cell3 | 3 | |
+---------+-----------+-----------+-------------+
这是我的区域表;
+----+--------------+-------------+
| id | region_name | district_id |
+----+--------------+-------------+
| 1 | fort | 2 |
| 2 | hatton | 4 |
| 3 | nugegoda | 2 |
| 4 | wattala | 2 |
| 5 | Nawala | 2 |
| 6 | Dickoya | 4 |
| 7 | kottegallaTT | 3 |
| 8 | Mabola | 2 |
+----+--------------+-------------+
2条答案
按热度按时间yb3bgrhw1#
试试这个:
r3i60tvu2#
其实你不需要这么做。
单元格表中的地区id列是多余的。如果您只是想从region表中复制它,那么就不要这样做:这样的复制数据违反了关系数据库的原则。它会让你的数据去标准化。想一想-如果您更改region表以更改区域所属的区域(例如,由于区域的重新组织),您不想也查找和更改该区域的所有单元格行-这只是浪费时间。一个外键关系的全部目的,就像你在单元格和区域之间建立的关系,是为了你不必把区域相关的信息复制到单元格级别。
相反,如果您需要知道一个单元格属于哪个区域,只需编写一个连接到region表的查询,然后就可以包含district列。
例如
将获取所有单元格并在输出中包含区域id