未熟な用語と方法論的な粗さを前もって謝罪します。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の2枚のCDを売って "Houses of the Holy"を購入した場合、ALBUMS内の既存のレコードはすべてartistId = 1
で削除し、新しいものを「更新」の方法として挿入しますか?ここでの懸念は、AUTO_INCREMENTプライマリキーIDが不足する可能性があることです。ただし、私が心に留めていることは、無署名INTが処理できないほど多くのトラフィックを処理することになり、私の現在の入り組んだアイデア(n
新しいレコードを追加したい場合は一致しない既存のレコードのうち最初にn
を探して、それらのレコードを更新し、残りのm - n
を削除します。私が "Led Zeppelin"のアップデートをベースにしている場合、AIDを取得するサブクエリ)。
i.1。 「HOTH」を追加して「IV」を削除したい場合はどうすればよいですか?既存のレコードを両方とも削除して、それを新たに両方追加する必要がありますか?
ii。 cdId = 2
のように、入力ミスを修正したいだけの場合はどうすればよいですか?