我有一个名为“csv_db”的数据库,其中包含一个名为“reportinc”的表。
该表包含以下列:
ID incidente
,Aperto da
,Stato
,Categoria
,Area
,Sottoarea
,Titolo
,Priorità
,Data/ora apertura
,Data/Ora risoluzione
,Data/ora chiusura
,Inizio Interruzione di servizio
,Fine interruzione di servizio
,Conteggio riassegnazioni
,Gruppo di assegnazione
,Assegnatario
,{ {1}},Risolto da
,Gruppo risoluzione
,Chiuso da
,Gruppo di chiusura
,ID interazione
,Id Remedy
,Descrizione
,{{1 }},Soluzione
,Servizio Interessato
,Servizi Interessati
,CI interessato
主要和唯一键是CI operativo
我需要每天从.CSV(逗号分隔)和:
导入Ultimo aggiornamento da
也)如果重复,我需要更新行,而不是追加。
如何?
答案 0 :(得分:1)
如果指定
REPLACE
,则输入行将替换现有行。换句话说,主键或唯一索引的值与现有行的值相同。请参阅Section 13.2.8, “REPLACE
Syntax”。
因此:
LOAD DATA [LOCAL] INFILE '/path/to/csv'
REPLACE
INTO TABLE csv_db.reportinc
[CHARACTER SET charset_name]
FIELDS
TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES
TERMINATED BY '\r\n'
[IGNORE 1 LINES]
(`ID incidente`, `Aperto da`, `Stato`, `Categoria`, `Area`, `Sottoarea`,
`Titolo`, `Priorità`, `Data/ora apertura`, `Data/Ora risoluzione`,
`Data/ora chiusura`, `Inizio Interruzione di servizio`,
`Fine interruzione di servizio`, `Conteggio riassegnazioni`,
`Gruppo di assegnazione`, `Assegnatario`, `Risolto da`,
`Gruppo risoluzione`, `Chiuso da`, `Gruppo di chiusura`,
`ID interazione`, `Id Remedy`, `Descrizione`, `Soluzione`,
`Servizio Interessato`, `Servizi Interessati`, `CI interessato`,
`CI operativo`, `Ultimo aggiornamento da`)