非常に単純です...songs
既存の主キー値を持つテーブルがあり、その一部はテーブルのsongsID
列に既に存在していiTunesImport
ます。
iTunesImport
コマンドのポイントは、テーブルの新しいエントリとしてテーブルから新しい値を追加することsongs
です。
私はたくさんの例を読みましたが、次の構文を使用するように言われています。唯一の違いは、テーブルに特定の値SELECT DISTINCT
の複数のインスタンスがあることを考えると、使用する必要があることです。songsID
iTunesImport
INSERT INTO songs(ID)
SELECT DISTINCT songsID FROM iTunesImport
WHERE (songsID IS NOT NULL)
ON DUPLICATE KEY UPDATE ID = ID
実行すると、0 行が返され、songs
テーブルは変更されていません。
以下は私のテーブルのセクションです...
songs
ID, varchar(15), Not NULL
Name, varchar(200), Not NULL
SongType, varchar(200), NULL
Description, varchar(1000), NULL
DebutDate, date, NULL
TimeStamp, timestamp, Not NULL
次の行で
2nd 2nd Self Original NULL NULL 2014-03-11 18:46:40
3xwide The Triple Wide Original NULL NULL 2014-03-11 18:46:40
40s 40's Theme Original NULL NULL 2014-03-11 18:46:40
ahab Ahab Original NULL NULL 2014-03-11 18:46:40
allintime All in Time Original NULL NULL 2014-03-11 18:46:40
私iTunesImport
のテーブル
iTunesImport
KEY, int(11), No
albumsID, varchar(7), Yes
songsID, varchar(15), Yes
TrackName, varchar(200), No
このテーブルには他の列がありますが、この場合は関係ありません
13 p013 stew "Der Bluten Kat"
14 p013 stew "Der Bluten Kat"
15 p013 stew "Ocean Billy"
16 p014 tinkles Miss Tinkle's Overture
17 p014 wws Women Wine and Song >
18 p014 utopian Utopian Fir >
19 p014 katstune Kat's Tune >
20 p014 utopian Utopian Fir
21 p014 billy Ocean Billy >
22 p014 blacksabbath Black Sabbath >
23 p014 warpigs War Pigs >
24 p014 billy Ocean Billy
25 p014 pequod The Pequod >
26 p014 ahab Ahab >
27 p014 pequod The Pequod >
28 p014 andy Andy's Last Beer
29 p014 mulche Mulche's Odyssey
30 p015 dumpcity Dump City