Kezdőlap › Fórumok › Programozás › MySQL kezdõ
- This topic has 72 hozzászólás, 16 résztvevő, and was last updated 17 years, 4 months telt el by
balev.
-
SzerzőBejegyzés
-
2007-02-26-19:10 #2062875
És mivel lehet lekérni egy tábla auto_increment mezőjének következő értékét?
Van egy táblám, amiből manuálisan töröltem az utolsó két sort.
Ha ebbe a táblába új rekord kerül, akkor a kulcs mező értéke szerint hozok létre automatikusan egy másik táblát. Ezek egymással relációban vannak, jelen esetben viszont nem találják egymást, mivel:
Code:$query=mysql_query(„SELECT MAX(kulcs) FROM ” . DBNAME . „.stat”);
$qhash=mysql_fetch_array($query);
$tc=$qhash[„MAX(kulcs)”];
$tc+=1;Ahol $tc lesz mondjuk 28, mivel a stat táblában a kulcs mező maximális értéke 27. Viszont az utolsó két sor törlése miatt a belső mutató nem 27, hanem 29.
Szerk.: közbe rájöttem, de hülye vagyok. Hát mysql_insert_id()-t lekérem a stat-ból és csak utána hozom létre a másik táblát.
2007-02-27-09:32 #2062876Aszonnya a doksi:
„You can retrieve the most recent AUTO_INCREMENT value with the LAST_INSERT_ID() SQL function…”
Ezzel megtudhatod a legutoljára beszúrt rekord értékét.Ha új rekordot szúrsz be, akkor kérd le ezzel az utolsó értéket, majd azzal kreáld meg a másik táblában az új rekordot!
A mysql_insert_id() az C-s függvény. Ha neked az kell… 🙂2007-02-27-11:08 #2062877Leslieman wrote:Aszonnya a doksi:
„You can retrieve the most recent AUTO_INCREMENT value with the LAST_INSERT_ID() SQL function…”
Ezzel megtudhatod a legutoljára beszúrt rekord értékét.Ha új rekordot szúrsz be, akkor kérd le ezzel az utolsó értéket, majd azzal kreáld meg a másik táblában az új rekordot!
A mysql_insert_id() az C-s függvény. Ha neked az kell… 🙂Igen, mert PHP-vel megy a dolog. Közben én is rájöttem, hogy így kellene. Nem is értem, miért próbáltam megbonyolítani 🙂
2007-06-04-22:29 #2062878Technikai jellegű a kérdés.
Van egy .xls fájllom, ebből szeretném feltölteni az adatokat a már előkészített táblába (sok rekordról van szó, ne kelljen már bepötyögni)
Szóval erre való a „LOAD DATA INFILE” ugyebár, el is olvastam a leírást:
http://dev.mysql.com/doc/refman/5.0/en/load-data.htmlCode:$query1=”LOAD DATA INFILE ‘/home/balev/www/hegshop/teszt.csv’ INTO TABLE hegshop.arucikkek
FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘ LINES TERMINATED BY ‘n’ (cikkszam, megnevezes, elv, csop, hutes, aresz)”;Ooo nagyon ügyes, tud .csv-be exportálni (be is lehet állítani, hogy mi legyen a szöveghatároló és mezőválasztó elem, stb.)
Namost hiába állítom be, hogy ‘,’ legyen a mezőválasztó és ‘”‘ legyen a szöveghatároló, a következőképp hozza létre a .csv fájlt.
411560,”CL 15 pisztolynyak-fix”,”MIG/MAG”,”150A”,”gázhűtés”,”nyak”
411561,”CL 15 pisztolynyak-forgatható”,”MIG/MAG”,”150A”,”gázhűtés”,”nyak”
411562,”CLB 15 pisztolynyak-fix”,”MIG/MAG”,”150A”,”gázhűtés”,”nyak”
411563,”CLB 15 pisztolynyak-forgatható”,”MIG/MAG”,”150A”,”gázhűtés”,”nyak”
411564,”CLM 15 pisztolynyak”,”MIG/MAG”,”150A”,”gázhűtés”,”nyak”A probléma ugye ott van, hogy az első mező (cikkszámok) nem kerülnek idézőjelek közé. Ez miért van? Ill. hogy tudnám megoldani a dolgot? .xls-ből nem tudom másként kiszedni, csak Ooo-val?
2007-06-05-06:33 #2062879balev wrote:Namost hiába állítom be, hogy ‘,’ legyen a mezőválasztó és ‘”‘ legyen a szöveghatároló, a következőképp hozza létre a .csv fájlt.
A probléma ugye ott van, hogy az első mező (cikkszámok) nem kerülnek idézőjelek közé. Ez miért van? Ill. hogy tudnám megoldani a dolgot? .xls-ből nem tudom másként kiszedni, csak Ooo-val?Nem értem, hogy mi a gond. Az első oszlopod biztos számként van beállítva, a szöveghatároló meg értelem szerűen a SZÖVEGET határolja :), nem a számokat.
2007-06-05-15:09 #2062880Állítsam szövegre? Lehet. De az az érdekes, hogy Ooo mindegyik oszlopot számként hozza fel… majd otthon megnézem.
2007-06-05-19:23 #2062881S valóban. Átalkítottam szöveggé és jó lett az export.
Mentségemre legyen mondva, hogy már elég fáradt voltam, eszembe se jutott, hogy megnézzem a cella tulajdonságokat 🙂2007-06-06-06:33 #2062882balev wrote:De az az érdekes, hogy Ooo mindegyik oszlopot számként hozza fel…
Na nehogymár megmagyarázd, hogy az Ooo a „gázhűtés” meg a „nyak” oszlopokat is számként hozza fel… 😉2007-06-06-09:37 #2062883Pedig de. Jobb gomb, cella tulajdonságok, szám. A szövegre is. Nem tudom miért. Windows alatt nem egyébként.
2007-07-03-14:52 #2062884Eszembe jutott egy kis MySQL elmélet a BOOLEAN típussal kapcsolatban (tinyint(1) ugyan az).
Tulajdonképp nem is két állása lehet csak, hanem – SQL – három. 0 és 1 állása teljesen oké, de lehet az értéke NULL is, így tulajdonképp három variációja van. MySQL alatt okozott nekem fejtörést jócskán, míg rájöttem a titok nyitjára 🙂
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz