Mysql
將數據從一個數據庫插入到特定列中的另一個數據庫不起作用
我已經
csv
格式化了數據,我想將數據放到我現有數據庫表的特定列中。我試圖這樣做,LOAD DATA INFILE...
我什至取消了註釋,mysqli.allow_local_infile
但我仍然遇到同樣的錯誤禁止載入數據本地 infile 檢查 mysqli.allow_local_infile
然後,我想用另一種方式來做,我剛剛創建了一個名為的新數據庫
staging_hadiths
,並且只創建了那些 ibn my 的列CSV file
,並將我的 CSV 上傳到該數據庫。現在,我試圖將該數據庫的表數據複製到我real database table
的特定列中,如下所示:SELECT hadithUrdu, urduNarrator from staging_hadiths.hadiths; UPDATE ifislam_hadiths.hadiths SET hadithUrdu=staging_hadiths.hadiths.hadithUrdu AND urduNarrator=staging_hadiths.hadiths.urduNarrator WHERE hadithNumber BETWEEN 3949 AND 4977
數據太大,無法將數據一一放入數據庫。我希望你們能幫助我。 我必須使用
where between for some reasons
,因此數據可以以正確的順序插入到我的真實數據庫表中。**我的暫存數據庫:**我的真實數據庫:
我怎樣才能做到這一點?
如果你想用另一個表中的數據更新一個表,你必須加入這些表。在您的情況下,如果暫存“聖訓”僅包含一行,則可以省略連接,如下所示:
UPDATE ifislam_hadiths.hadiths h1 inner join staging_hadiths.hadiths h2 SET h1.hadithUrdu = h2.hadithUrdu, -- AND does not comply with mysql syntax h1.urduNarrator = h2.hadiths.urduNarrator WHERE h1.hadithNumber BETWEEN 3949 AND 4977
但通常您會連接這兩個表,以便要更新的表中的每一行對應於另一個表中的一行。
來自教程點的一個例子