-
Load Into - Replace
Hello,
J'ai une table avec différents fields (désolé je ne connais que la terminologie anglaise).
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| src | varchar(100) | YES | | NULL | |
| date | date | YES | | NULL | |
| time | time | YES | | NULL | |
| userid | varchar(100) | YES | MUL | NULL | |
| version | varchar(10) | YES | | NULL | |
| updload | int(11) | YES | | NULL | |
| download | int(11) | YES | | NULL | |
| folder | varchar(100) | YES | MUL | NULL | |
| bug | int(20) | YES | | NULL | |
| zf1 | varchar(100) | YES | | NULL | |
| zf2 | varchar(100) | YES | | NULL | |
| zf3 | varchar(100) | YES | | NULL | |
| zf4 | varchar(100) | YES | | NULL | |
| zf5 | varchar(100) | YES | | NULL | |
| zf6 | varchar(100) | YES | | NULL | |
| zf7 | varchar(100) | YES | | NULL | |
| zf8 | varchar(100) | YES | | NULL | |
| zf9 | varchar(100) | YES | | NULL | |
| zf10 | varchar(100) | YES | | NULL | |
| zf11 | varchar(100) | YES | | NULL | |
| zf12 | varchar(100) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
J'ai créer un fichier CSV que je veux importer dans ces fields (zf1 à zf12), et surtout remplacer toutes les valeurs existantes.
J'ai utilisé la commande suivante qui n'est clairement pas la bonne puisqu'elle append ma table.
load data local infile '/home/thomas/Documents/RESULTS/myfile.txt' replace into table CVSALLDATA fields terminated by '\t' lines terminated by '\n' (zf1,zf2,zf3,zf4,zf5,zf6,zf7,zf8,zf9,zf10,zf11,zf12)
Une idée ? :)
Merci
-
Saluton,
Le seul moyen simple que j'aperçois serait de charger ces données par LOAD DATA dans une table temporaire.
Puis de faire une requête en REPLACE vers la table finale CVSALLDATA.
Le problème c'est que je ne vois pas, dans la description de table fournie, de PRIMARY KEY ou de clé UNIQUE discriminante pour permettre à REPLACE de faire le job.
Ce que je vois, par contre, et qui m'horrifie, c'est une table avec des données tabulaires zf1 à zf12 qui ne respectent pas les formes normales du modèle entités-relations.