Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utilisation de PHP pour prendre la première ligne d'un fichier CSV et créer une table MySQL avec les données

S'appuyant sur Nouveau le code de vous pourriez faire ceci

for($i = 0; $i <= count($fieldList); $i++)
{
    if (is_numeric($fieldList[$i]))
    {
        if (strpos($fieldList[$i],'.') !== false){
            $fieldList[$i] = (int)$fieldList[$i];
        }else{
            $fieldList[$i] = (float)$fieldList[$i];
        }
    }

    switch(gettype($fieldList[$i])) {
        case 'integer':
            $typeInfo = 'int(11)';
            break;
        case 'float':
        case 'double':
            $typeInfo = 'float';
            break;

        case 'string':
            $typeInfo = 'varchar(80)';
            break;
        default:
            $typeInfo = 'varchar(80)';
            break;
    }
if(gettype($fieldList[$i]) != NULL) echo "\t".'`'.$i.'` '.$typeInfo.' NOT NULL, --'.gettype($fieldList[$i]).' '.$fieldList[$i]."<br/>\n";

}

Cela fonctionne, notez l'ajout de "case 'double' :" dans le commutateur, mais il peut y avoir une meilleure façon de faire la vérification int/float car ils ne fonctionneraient qu'avec des numéros uk/us standard.