sql >> Database >  >> RDS >> Mysql

PHP gebruiken om de eerste regel van een CSV-bestand te nemen en een MySQL-tabel te maken met de gegevens

Voortbouwend op Nouveau 's code zou je dit kunnen doen

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";

}

Dat werkt, let op de toevoeging van "case 'double':" in de switch, maar er is misschien een betere manier om de int/float-controle uit te voeren, omdat ze alleen zouden werken met standaard uk/us-nummers.



  1. Hoe kan ik byte[] uit de bytea-kolom halen met MyBatis?

  2. Hoe verwijder ik de eerste of de laatste reeks rijen op een dynamische manier?

  3. mysql - rij bijwerken op basis van andere rijen

  4. Hoe een kolom in een tabel toe te voegen met behulp van laravel 5-migratie zonder de gegevens te verliezen?