Importfájlformátum az adatbázisba
Elég gyakran van szükség, hogy adja meg adatait a fájlokat az adatbázisban. Az egyik módja annak, hogy megoldják ezt a problémát: nyissa meg a fájlt, soronként beolvasni a fájlt osztott húr határoló, és be az adatbázisba. De ebben az esetben az a probléma merülhet fel az import aránya, ha a fájl túl nagy.
Ahhoz, hogy megoldja ezt a problémát, akkor az üzemeltető MySQL LOAD DATA INFILE. LOAD DATA INFILE lehetővé teszi, hogy letölthető az információt a fájlok nagy sebességgel, amely a mi szükség van.
De ez a módszer, azt tapasztaltam, azok előnyeit és hátrányait:
- - nincs módja annak, hogy figyelemmel kíséri a helyességét a bemenő adatok
- + letöltési sebesség lenyűgöző
Vegyünk például egy olyan helyzetet, hogy meg kell, hogy kirak az adatbázis árlisták szervezetekkel. Meg kell, hogy hozzon létre egy űrlapot képes kiválasztani a fájlt, majd kattintson a fájl az adatbázisba történő felvétel.
Először létrehozunk tbl_price asztal, ahol fogjuk tárolni információkat az árlistában.
id_user lesz egy idegen kulcs a szervezet és az árlistát.
Mi olyan fájlt kell importálni
Létrehozása modell
Hozzon létre egy modellt a táblázat generátor tbl_price GII kódot. Fájl hozzáadása import eljárás Ár Modell osztályban.
Nézzük inkább parancs LOAD DATA LOCAL INFILE.
HELYI azt jelzi, hogy a fájl venni a kliens könyvtárat a szerver, ha levelet LOAD DATA INFILE, a fájl kerül sor az SQL Server könyvtárban.
TERÜLET leállítottuk azt sugallja, hogy a mezők vannak elválasztva egymástól ebben az esetben „;” résztől.
VONALAK leállítottuk beszél, ahogyan a sorok egymástól, van egy szimbóluma egy új sort.
IGNORE 1 vonalakat kihagyja a sorok száma a tetején, kihagyva egy, mert van egy kalap, ha az oszlop fejezetek nem tudja használni ezt a paramétert, hogy írjon.
Következő zárójelben a paramétereket, amelyek bekerülnek az adatbázisba a fájl fontos pontosítani a szekvencia adatbázis oszlopok, amelyek szerepelnek a fájlban, azaz Ha az adatbázis oszlopok az „ár”, a „Mennyiség”, „U-izmus” és az import file „élelmiszer-izmus”, „ár”, „számít” a SQL lekérdezés fel kell tüntetni az „élelmiszer-izmus” "ár", a "mennyiség".
Továbbá, ha egy fájlt másol az adatbázis lehet a helyzet, hogy nem az összes szükséges információt tárolja az import fájlban. A mi esetünkben ez id a szervezet, aki birtokolja az ár és idő árképzést. Ehhez használja a SET ahol rendelni az aktuális dátum és date_price id_user id szervezet.
Mivel az előzetesen felszámított adatok ilyen módon nem lehet ellenőrizni (ha igen, hogyan lehet megosztani), akkor megváltoztatjuk a szabályokat a modellben.
Itt készítette import_csv forgatókönyv, ahol a kiterjesztés követjük fájlt a felhasználó által kiválasztott. Expansion én választottam csv, de lehet, hogy más.
Nézet létrehozása
Készítünk egy osztály bemutatása ár, és a következő kódot.
Nos, minden egyszerű, az egyetlen pont, hogy érdemes odafigyelni erre
különben activeFileField mező visszatér null.
Létrehozása vezérlő
PriceController hozzon létre egy vezérlő és actionImport az alábbi kódot.