提前为简单的术语和方法粗糙程序道歉。MySQL - 用于更新表的方法
比方说,我有一对夫妇的表像这样:
ARTISTS
artistId | artistName
1 | Led Zeppelin
2 | Pink Floyd
ALBUMS
cdId | artistId | title
1 | 1 | Physical Graffiti
2 | 1 | Led Zeppelin IV
3 | 2 | Wish U Were Here
我试图找出一种灵活的方式来更新下,一对夫妇的情况下,专辑表(尽管实际的表我有,标题实际上title_id是键入存储在单独表格中的ID)。
i。如果我出售我的两张LZ CD并购买“Holy of Houses”,我应该删除ALBUMS中现有的所有记录,并在artistId = 1
处插入新记录作为“更新”的方式?我担心的是可能会耗尽AUTO_INCREMENT主键ID,尽管我承认我怀疑我脑海中会看到如此多的流量以至于无符号的INT无法处理,并且比实现更容易我目前复杂的想法(对于我想添加的n
新记录,请查找m
中的第一个m
中不匹配的现有记录,更新这些记录,并删除剩余的m - n
现在无关的记录,这至少需要初步的如果我将更新基于“Led Zeppelin”),子查询将获得AID。
i.1。如果我想添加“HOTH”但删除“IV”?我是否应该删除两个现有记录并重新添加它们?
ii。如果我只是想纠正一个错字,如cdId = 2
?