utilisez le OPTIONALLY ENCLOSED BY
clause.
SELECT *
FROM table
INTO OUTFILE 'table.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Le OPTIONALLY
le modificateur ne fait cela que pour les colonnes de chaîne.
Vous devez également omettre la sous-requête qui renvoie la ligne d'en-tête. Le problème est que toutes les lignes d'une union doivent avoir les mêmes types dans les colonnes, il convertit donc toutes les non-chaînes en chaînes pour correspondre à la ligne d'en-tête.