iT邦幫忙

0

mysql replace into 主鍵設定

  • 分享至 

  • xImage

問題:
目前在使用mysql stored procedure
流程是有csv檔則按照路徑匯入修改過的csv
但這個應該僅限csv也是有id欄位才不會報錯吧
(或是從資料表匯出的csv)
1.因為有可能從政府資料下載門牌csv 因為下載下來不會有id欄位
所以該如何達到從無id的csv匯入有id的欄位
以下是我目前匯入的語法

LOAD DATA INFILE "E:/output.csv"
replace INTO TABLE addr
FIELDS TERMINATED BY',';

2.想請教一下 如果匯出CSV 怎麼含標題一起匯出
(單純匯出的可以 但是含標題的似乎都無法執行)

感謝~

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-11-29 09:47:20
最佳解答

我看你連續問了這麼幾題
我只想說
1.CSV 匯入 MySQL,最重要的是「CSV 格式」和「Table 結構
使用 SQL 或 Stored Procedure 是沒差的

2.如果來源 CSV 的格式不規律,或者例外情形太多
就要「事先」(人工或用程式處理)將資料「弄整齊以符合規則」再來匯入
而不是在 MySQL 匯入時來修修改改

win895564 iT邦新手 1 級 ‧ 2022-11-29 09:57:50 檢舉

瞭解了

0
alien663
iT邦研究生 4 級 ‧ 2022-11-29 09:38:17
  1. 資料匯入流程建議要定義明確一點,以我來說,大致會定義如下,其中交集怎樣判斷,則視csv的資料內容而定。
    1.1. csv檔案寫入temp table
    1.2. 當temp table與[門牌]有交集時,update [門牌]
    1.3. 當temp table差集[門牌]時,insert into [門牌]
    1.4. 當[門牌]差集temp table時,delete [門牌] (這步驟請自行斟酌是否有必要)
  2. CSV其實限制挺多,因為實際上CSV跟txt沒有什麼差別,如果想要有多樣的輸出結果,還是使用excel比較實際。
win895564 iT邦新手 1 級 ‧ 2022-11-29 10:03:53 檢舉

明白了

我要發表回答

立即登入回答