非常简单......我有一个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