我有 2 张桌子。
表电影
- id (PK)
- 标题
- 类型
表剧集
- id (PK)
- 剧集 (PK)
- 标题
每部电影都有一些剧集。
电影
---------------------------------
| id | title | type |
|----|-------------|------------|
| 1 | movie1 | 3 episodes |
| 2 | movie2 | 2 episodes |
---------------------------------
插曲
----------------------------------------
| id | episode | title |
|----|-------------|-------------------|
| 1 | 1 | movie1 episode 1 |
| 1 | 2 | movie1 episode 2 |
| 1 | 3 | movie1 episode 3 |
| 2 | 1 | movie2 episode 1 |
| 2 | 2 | movie2 episode 2 |
----------------------------------------
如果我更新记录 id="1" (在两个表上),我经常使用:
表电影:
Update Movie set title='...', type='...' where id=1;
表剧集
Delete from Episode where id=1;
Insert into Episode(id, episode, title) values('...', '...', '...');
我认为更新 Table Episode 是一种愚蠢的方式。我只是想不出另一种更新记录的方法,考虑到用户可能会更改、添加或删除表上的某些记录,然后将所有更改保存到数据库。
有人有其他解决方案吗?
编辑:
前任。用户对 Table Episode (just id=1)
Episode进行了一些更改
----------------------------------------
| id | episode | title |
|----|-------------|-------------------|
| 1 | 1 | movie1 episode 1 |
| 1 | 2 | movie1 episode 1a |
| 1 | 3 | movie1 episode 2 |
| 1 | 4 | movie1 episode 3a |
| 1 | 5 | movie1 episode 3b |
----------------------------------------
如何将所有更改存储到数据库?