希望我能解釋這不夠好......我有一個表叫artists
基本上與2列,artist_pk
(主鍵)和artist_name
。我使用LOAD DATA INFILE
將artist_name
列的記錄通過CSV文件導入表artists
,並讓MySQL提供artist_pk
值。這一切都完成了。LOAD DATA INFILE - 拼命卡住
現在我想爲我的表導入數據(通過相同的導入方法),名爲albums
。這裏的三個相關列album_pk
(主),album_name
和artist_pk
(從artists
表的外鍵)。再次,我將讓mySQL分配album_pk
值。
在我的CSV數據中有album_name和artist_name。我沒有artist_pk值。所以我的問題是:我可以導入artist_name CSV列作爲我的tables
導入的一部分,但不是按原樣使用它,請指示mySQL使用artists
表中的關聯artist_pk
PRIMARY KEY值?
例如在artists
表中的記錄:
artist_pk | artist_name |
+-----------+--------------+
| 1 | Depeche Mode |
+-----------+--------------+
現在從我的CSV文件(即我希望把我的albums
表)的摘錄。
album_name artist_name
Violator Depeche Mode
'違規者'將填充albums.album_name
。但爲了填充albums.artist_pk
,我希望MySQL使用'Depeche Mode'(位於artists.artist_name
)去獲得其相關值artist_pk
(本例中爲1) - 這是表albums
中的值。
在此先感謝!
如果你的名字是保證是獨一無二的,你可以做到。否則,你需要另一種方法。 –
與您的問題無關,但當專輯中有多位藝術家時會發生什麼? –
@Dan Bracuk謝謝丹,但我卡在方法 - 這是我的問題?如何在執行LOAD DATA INFILE操作時使用artist_name訪問artist_pk?重申:你的第二個評論 - 合作將是他們自己的藝術家(例如Christabelle&Lindstrom,他們都是獨唱藝人),但彙編將以不同的方式處理 - 我相信這就是爲什麼iTunes(例如)擁有Artist和專輯藝術家。但是其中一些可以稍後決定......這整個音樂數據庫對我來說是學習MySQL的方式的一個有趣的練習! – simien