Извините за неискушенные термины и методологическую грубость заранее.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 привязан к идентификаторам, хранящимся в отдельной таблице).
i. Если я продам два моих компакт-диска LZ и купите «Дома Святого», я должен просто удалить все существующие записи в ALBUMS, где artistId = 1
, и вставить новый как способ «обновления»? Меня беспокоит возможность исчерпать идентификаторы первичного ключа AUTO_INCREMENT, хотя я признаю, что я сомневаюсь, что то, что я имею в виду, будет видеть так много трафика, который неподписанный INT не может обрабатывать, и намного проще реализовать, чем моя текущая запутанная идея (для n
новых записей, которые я хочу добавить, ищите первые n
из m
существующих записей, которые не совпадают, обновляют эти записи и удаляют оставшиеся m - n
теперь посторонние записи, которые по крайней мере требуют предварительного подзапрос, чтобы получить AID, если я основываю обновление на «Led Zeppelin»).
i.1. Что делать, если я хочу добавить «HOTH», но удалить «IV»? Должен ли я удалить все существующие записи и добавить их как заново?
ii. Что делать, если я просто хочу исправить опечатку, как в cdId = 2
?