- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
- Archttila: SMART tesztelés automatizálva: smartctl poller script Zsh-ban, RPi-re
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- btz: Internet fejlesztés országosan!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Parci: Milyen mosógépet vegyek?
- bacsis: Gyere el a 11. BRSZK-ra!
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- MasterDeeJay: Low budget (50.000 forint) light gémer gép összerakása
-
1100 - 1001
6041 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
B-L-A-C-K
titán
Remélem csak viccelsz... [link] >>> második találat.... (de persze az első is a php.net oldalára visz, onnan is nyugodtan elkalauzolhatsz...)
Már a Wikipédia vonatkozó szócikkéből is kiderül kb. 3 másodperc Guglizás után, hogy "a PHP szabad szoftver"...
Ha már ez is gondot okoz, akkor szerintem jobban jársz, ha felkeresel egy rendszergazdát, aki X összegért bevállalja neked az egész összeállítását, lehet, hogy nem lesz olcsó, de esélyes, hogy működőképes lesz a rendszered - most ezt nem rosszindulatból mondom, de azért egy publikusan elérhető szerver felállítását nem lehet elviccelni, meg ingatag lábakon hagyni.5.2.5 kerestem ezt nem találtam, és mivel ugye fogalmam sincs hogy jó e másik verzió ezért nem szedtem le az 5.x.x-es verziót megkérdezés előtt. De ezek szerint úgy látom teljesen min1 mit szedek le. Viszont ha te már így állsz hozzám ahogy leírtad, kb hogy be sem tudom kapcsolni a gépet, akkor nem is kéne válaszolnod. Gondolom te már kisujjból kirázod az ezzel kapcsolatos dolgokat, de mivel én most találkozok először ilyennel így szerintem nem olyan meglepő hogy nem tudom pontosan mit is kéne letölteni hozza...
-
Sk8erPeter
nagyúr
Remélem csak viccelsz... [link] >>> második találat.... (de persze az első is a php.net oldalára visz, onnan is nyugodtan elkalauzolhatsz...)
Már a Wikipédia vonatkozó szócikkéből is kiderül kb. 3 másodperc Guglizás után, hogy "a PHP szabad szoftver"...
Ha már ez is gondot okoz, akkor szerintem jobban jársz, ha felkeresel egy rendszergazdát, aki X összegért bevállalja neked az egész összeállítását, lehet, hogy nem lesz olcsó, de esélyes, hogy működőképes lesz a rendszered - most ezt nem rosszindulatból mondom, de azért egy publikusan elérhető szerver felállítását nem lehet elviccelni, meg ingatag lábakon hagyni. -
B-L-A-C-K
titán
-
martonx
veterán
Nem nagyon boldogulok ezzel az egésszel, de nem is csodálom, kb olyan szituba vagyok mint akinek meg kéne tanulni pár nap alatt zongorázni de sose zongorázott előtte...

PHP-5.2.5 (x64) kéne nekem windows 2008 r2-höz, ezt ingyenesen legálisan le lehet szedni valahonnan?
Illetve ha valaki nagyon ráér privátban tudna nekem segíteni, elmondanám mit is kéne igazából csinálnom...

A PHP mióta csak létezik ingyenes. Gugliban javaslom a donwload php kulcsszavakat
![;]](//cdn.rios.hu/dl/s/v1.gif)
Keress meg privátban nyugodtan. -
B-L-A-C-K
titán
Nem nagyon boldogulok ezzel az egésszel, de nem is csodálom, kb olyan szituba vagyok mint akinek meg kéne tanulni pár nap alatt zongorázni de sose zongorázott előtte...

PHP-5.2.5 (x64) kéne nekem windows 2008 r2-höz, ezt ingyenesen legálisan le lehet szedni valahonnan?
Illetve ha valaki nagyon ráér privátban tudna nekem segíteni, elmondanám mit is kéne igazából csinálnom...

-
rum-cajsz
őstag
Sziasztok!
Egyik kollégámnak szeretnék segíteni. MySQL-ben fejleszt. A kérdés:
Van két (vagy több) tábla ami azonos struktúrával rendelkezik. Havi adatok. Viszont vannak olyan lekérdezések amikor pl. 6 havi adatból kell. Nem szeretnénk egyenként megnyitni és lekérdezéseket csinálni. Meg lehet azt oldani, hogy mondjuk 6 db táblát megnyit és azt a lekérdezés idejére "összefűzi". Tehát olyan mintha a 6 tábla egybe lenne..
Ezt meg lehet csinálni? Érthető a kérdésem?

Előre is köszi a választ...
igen, az union lesz a barátod:
select idopont,valami from valahonnan1
union
select idopont,valami from valahonnan2
order by 1,2; -
Sk8erPeter
nagyúr
Sziasztok!
Egyik kollégámnak szeretnék segíteni. MySQL-ben fejleszt. A kérdés:
Van két (vagy több) tábla ami azonos struktúrával rendelkezik. Havi adatok. Viszont vannak olyan lekérdezések amikor pl. 6 havi adatból kell. Nem szeretnénk egyenként megnyitni és lekérdezéseket csinálni. Meg lehet azt oldani, hogy mondjuk 6 db táblát megnyit és azt a lekérdezés idejére "összefűzi". Tehát olyan mintha a 6 tábla egybe lenne..
Ezt meg lehet csinálni? Érthető a kérdésem?

Előre is köszi a választ...
Pont ilyen kérdést tettek fel Stack Overflow-n: [MySQL - Selecting data from multiple tables all with same structure but different data]
Ott javasolt megoldás:
(SELECT * from us_music where `genre` = 'punk')
UNION
(SELECT * from de_music where `genre` = 'punk') -
WolfLenny
senior tag
Sziasztok!
Egyik kollégámnak szeretnék segíteni. MySQL-ben fejleszt. A kérdés:
Van két (vagy több) tábla ami azonos struktúrával rendelkezik. Havi adatok. Viszont vannak olyan lekérdezések amikor pl. 6 havi adatból kell. Nem szeretnénk egyenként megnyitni és lekérdezéseket csinálni. Meg lehet azt oldani, hogy mondjuk 6 db táblát megnyit és azt a lekérdezés idejére "összefűzi". Tehát olyan mintha a 6 tábla egybe lenne..
Ezt meg lehet csinálni? Érthető a kérdésem?

Előre is köszi a választ...
-
Speeedfire
félisten
Nyilván MySQL-ről van szó.
Lehet 2 timestamp 1 táblában.
Ami a baja, hogy ha van két timestamp egy táblában, azt nem lehet megcsinálni, hogy az egyik mezőnek defaultból CURRENT_TIMESTAMP az értéke, ÉS a másiknak pedig on update CURRENT_TIMESTAMP tulajdonsága van. Ahogy az sem lehet, hogy mindkettő mezőnek on update CURRENT_TIMESTAMP tulajdonsága van, vagy mindkettő mezőnek CURRENT_TIMESTAMP a default értéke.
Választani kell.Valóban lehet 2 timestamp így. Max a create lesz megadva feltöltéskor, az on update meg a modify. Így talán a legjobb.

-
Sk8erPeter
nagyúr
Miért nem lehet 2 timestamp 1 táblában?
Ki akartam próbálni valamit.
Csináltam egy példa táblát, létrehoztam egy id-t, ami AI. Majd egy create-et, ami timestamp és default current_timestamp, akartam csinálni egy másikat is modify néven, de nem engedte, ez is ugyan az lenne mint a create, csak ugye on update current_timestamp.
Írja is az sql, hogy:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clauseNyilván MySQL-ről van szó.
Lehet 2 timestamp 1 táblában.
Ami a baja, hogy ha van két timestamp egy táblában, azt nem lehet megcsinálni, hogy az egyik mezőnek defaultból CURRENT_TIMESTAMP az értéke, ÉS a másiknak pedig on update CURRENT_TIMESTAMP tulajdonsága van. Ahogy az sem lehet, hogy mindkettő mezőnek on update CURRENT_TIMESTAMP tulajdonsága van, vagy mindkettő mezőnek CURRENT_TIMESTAMP a default értéke.
Választani kell. -
Speeedfire
félisten
Miért nem lehet 2 timestamp 1 táblában?
Ki akartam próbálni valamit.
Csináltam egy példa táblát, létrehoztam egy id-t, ami AI. Majd egy create-et, ami timestamp és default current_timestamp, akartam csinálni egy másikat is modify néven, de nem engedte, ez is ugyan az lenne mint a create, csak ugye on update current_timestamp.
Írja is az sql, hogy:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause -
martonx
veterán
full text search van az express-ben is. Replikáció természetesen nincs, de mit akarsz 10Gb-s vicc DB-ken replikálni?
Ha már szerverek között replikálsz, akkor az a pár millió Ft egy rendes SQL szerverért aprópénz.Remélem érted az iróniát.
-
B-L-A-C-K
titán
Nem tudhatjuk, hogy mire kell neked.
Egyébként három fő limitációja van az ingyenesnek:
1. Csak 1 db processzor magot használ ki
2. Csak 1 Gbyte memóriát használ ki
3. 10Gb-nál nem lehet rajta nagyobb az egyes DB-k méreteHa nincsenek nagy DB-id, és nem több száz párhuzamos felhasználóra akarsz felkészülni (hanem csak néhányra), akkor ezen limitációkkal simán együtt lehet élni.
Értem, és nem tudod ezt honnan tudom letölteni Windows 2008 R2 Standard (x64) oprendszer? Ezt néztem: [link] de ez nem jó hozzá! (leszedtem és azt írta ki a szerveren nem win32 alkalmazás...)
-
martonx
veterán
Nem tudhatjuk, hogy mire kell neked.
Egyébként három fő limitációja van az ingyenesnek:
1. Csak 1 db processzor magot használ ki
2. Csak 1 Gbyte memóriát használ ki
3. 10Gb-nál nem lehet rajta nagyobb az egyes DB-k méreteHa nincsenek nagy DB-id, és nem több száz párhuzamos felhasználóra akarsz felkészülni (hanem csak néhányra), akkor ezen limitációkkal simán együtt lehet élni.
-
B-L-A-C-K
titán
-
B-L-A-C-K
titán
-
ArchElf
addikt
Sziasztok!
Szinte semennyire se vagyok jártas SQL-ben, de még szerver környezetben sem nagyon, szóval ha hülye kérdéseket fogok feltenni nézzétek el nekem...

Adott egy Windows 2008 R2 Standard (x64) oprendszer, erre kéne nekem felraknom egy SQL 2008 Server-t, ez valahonnan ingyen legálisan letölthető, vagy meg kell vásárolni hozzá? Illetve ha igen mennyibe kerül egy ilyen?
Elsőre ennyi lenn a kérdésem, válaszokat előre is köszönöm...
Van minimalista Express változat, de ha tömegszolgáltatás lesz (és fontos az MSSQL), akkor perkálni kell.
AE
-
B-L-A-C-K
titán
Sziasztok!
Szinte semennyire se vagyok jártas SQL-ben, de még szerver környezetben sem nagyon, szóval ha hülye kérdéseket fogok feltenni nézzétek el nekem...

Adott egy Windows 2008 R2 Standard (x64) oprendszer, erre kéne nekem felraknom egy SQL 2008 Server-t, ez valahonnan ingyen legálisan letölthető, vagy meg kell vásárolni hozzá? Illetve ha igen mennyibe kerül egy ilyen?
Elsőre ennyi lenn a kérdésem, válaszokat előre is köszönöm...
-
rum-cajsz
őstag
igazad van, hogy van ilyen, csak sajnos nekem az a tapasztalatom, hiába van ez a lehetőség, az optimalizáló nem nagyon él vele.

-
bpx
őstag
Csak azokat a mezőket érdemes indexelni, amire keresni akarsz.
Ha a kereséseid több mezőre egyidejűleg történnek, akkor érdemes több mezőre összetett indexet tenni, sőt ha valamilyen függvényt használsz, akkor függvény alapú indexet érdemes használni.
Minél több indexed van, annál lassabb lesz az insert és a delete, mert a sorok felvételével és törlésével egyidejűleg az indexsorok létrehozása is létrejön, törlődik.
Ha többféle lekérdezés is történik a táblán, akkor érdemes lehet több oszlopra is indexet tenni a lekérdezések függvényében.
Összetett index esetén csak akkor fog működni az index alapú keresés, ha az első oszlop legalább benne van a feltételek között.És azért van ilyen neved (SYSxxxxx), mert nem nevezted el az indexet létrehozáskor (pl. primary key definiálásakor), ilyenkor egy rendszer által generált néven jön létre az index.
Összetett index esetén csak akkor fog működni az index alapú keresés, ha az első oszlop legalább benne van a feltételek között.
ez azért már elég régóta (9i óta) nem igaz, mert van INDEX SKIP SCAN, de persze nyilván ez nem olyan hatékony mint az ideális eset
-
rum-cajsz
őstag
Csak azokat a mezőket érdemes indexelni, amire keresni akarsz.
Ha a kereséseid több mezőre egyidejűleg történnek, akkor érdemes több mezőre összetett indexet tenni, sőt ha valamilyen függvényt használsz, akkor függvény alapú indexet érdemes használni.
Minél több indexed van, annál lassabb lesz az insert és a delete, mert a sorok felvételével és törlésével egyidejűleg az indexsorok létrehozása is létrejön, törlődik.
Ha többféle lekérdezés is történik a táblán, akkor érdemes lehet több oszlopra is indexet tenni a lekérdezések függvényében.
Összetett index esetén csak akkor fog működni az index alapú keresés, ha az első oszlop legalább benne van a feltételek között.És azért van ilyen neved (SYSxxxxx), mert nem nevezted el az indexet létrehozáskor (pl. primary key definiálásakor), ilyenkor egy rendszer által generált néven jön létre az index.
-
D@ni88
addikt
Nem írtad az adatbázist! Oracle-ben pl. az ALL_IND_COLUMNS nézetből lekérdezheted:
select
INDEX_NAME,
LPAD(TABLE_NAME,17) TABLE_NAME,
LPAD(COLUMN_NAME,15) COLUMN_NAME,
LPAD(COLUMN_POSITION,5) COLUMN_POSITION
from ALL_IND_COLUMNS
WHERE TABLE_NAME = upper('&tablename')
order by INDEX_NAME,COLUMN_POSITION;még egy kérdés:
létrehoztam egy indexet: de a column_name-hez az alábbit kapom: SYS_NC00044$

-
D@ni88
addikt
Nem írtad az adatbázist! Oracle-ben pl. az ALL_IND_COLUMNS nézetből lekérdezheted:
select
INDEX_NAME,
LPAD(TABLE_NAME,17) TABLE_NAME,
LPAD(COLUMN_NAME,15) COLUMN_NAME,
LPAD(COLUMN_POSITION,5) COLUMN_POSITION
from ALL_IND_COLUMNS
WHERE TABLE_NAME = upper('&tablename')
order by INDEX_NAME,COLUMN_POSITION;Köszi a segítséget

Még egy kérdés:
Melyik a gyorsabb, ha minden mezőt külön indexre pakolok, vagy az összes indexelni kívánt mezőt egy index alá teszem? (Oracle)
Köszi -
Sk8erPeter
nagyúr
Ohh, egyébként az exec-et már korábban átírtam prepare-re, de tény, hogy attól a paramétereket ugyanúgy beleírtam a query-be -.- Kivételt nem kezeltem, de otthon majd átírom ilyenre, remélem megoldódik ilyen módszerrel, mert akkor ezzel több dolgom már nincs

Este tudom kipróbálni, majd megírom, hogy ez megoldotta-e a problémát.
"egyébként az exec-et már korábban átírtam prepare-re, de tény, hogy attól a paramétereket ugyanúgy beleírtam a query-be"
Akkor esélyes, hogy ez volt a gond egyik okozója.
OK, majd írd meg, mi lett a vége.
Szerk.:
"Kivételt nem kezeltem, de otthon majd átírom ilyenre, remélem megoldódik ilyen módszerrel"
Hát nem a kivételkezeléstől fog megoldódni, az biztos.
A kivételkezelés csak egy szép módja a hibakezelésnek, ennyi. Attól még önmagában nem megoldott az adatok helyes feltöltése, csak így könnyű elkapni az eldobott kivételt, ha valahol hiba keletkezett. -
Jim-Y
veterán
"Más" utáni részre reagálva:
A PDO exec() függvényét használod itt? Vagy ez saját wrapper osztály?
Ha a PDO-é, akkor azonnal felejtsd el, hogy exec() metódus használatával közvetlenül beleraksz felhasználótól érkező adatot. Meg nem ártana, ha kivételeket kezelnél.
Nem is értem, pont az a lényege a PDO-nak, hogy szépen lehet vele az adatokat kezelni, prepared statementeket lehet vele használni, így escape-elgetni sem kell a karaktereket, épp ez az egyik legjobb benne, de a másik pedig az előkészített query által megvalósítható szép kód - nincs szükség okádék string-összefűzögetésre, mint - bocs - a Te kódodban.
Tele von Zsinór kolléga a PHP topicban belinkelte a saját cikkét a témában, ami elég jól összefoglalja a dolgot:
http://maerlyn.eu/2011/12/03/pdo.htmlTehát
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
FELEJTŐS, HELYETTE:$dbh = NULL;
try {
// felhasználónév, jelszónál saját adat behelyettesítendő
$dbh = new PDO("mysql:host=localhost;dbname=test", "root", "root", array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
// ..............
$sth = $dbh->prepare('INSERT INTO offers (offer_id,description,images) VALUES (:offer_id, :description, :images)');
$sth->bindParam(':offer_id', $provider_id, PDO::PARAM_INT);
$sth->bindParam(':description', $htmlcontent, PDO::PARAM_STR);
$sth->bindParam(':images', $_FILES['uploaded_image']['name'], PDO::PARAM_STR);
$sth->execute();
echo 'Úgy tűnik, minden OK.';
}
catch (PDOException $err) {
echo 'Hiba: ', $e->getMessage();
}
catch (Exception $e) {
echo 'Másik hiba: ', $e->getMessage();
}Itt feltételeztem, hogy az offer_id egy INT.
Meg természetesen a kivételeket inkább naplózni kéne, és felhasználóbarát üzeneteket kiírni.Ja, és a fentivel nagy eséllyel kerülhető el az általad említett probléma.
Legalábbis remélem. Majd írd meg, mire jutottál.Ohh, egyébként az exec-et már korábban átírtam prepare-re, de tény, hogy attól a paramétereket ugyanúgy beleírtam a query-be -.- Kivételt nem kezeltem, de otthon majd átírom ilyenre, remélem megoldódik ilyen módszerrel, mert akkor ezzel több dolgom már nincs

Este tudom kipróbálni, majd megírom, hogy ez megoldotta-e a problémát.
-
Sk8erPeter
nagyúr
Nem, ez egy létező sql-ből készített (exportált) .sql file, amit megkaptam, hogy ebből majd rá fogok jönni, hogy hogy épül fel az adatbázis/tábla. Ezért szeretném ezt megnyitni, gondoltam beimportálom phpmyadmin-ba, és ott majd megnézem, lehet akkor le kéne szednem egy third party SQL viewert? Mondjuk az sem oldja meg azt, hogy én kóddal, ebből az adatbázisból ki szeretnék majd nyerni adatokat, tehát mindenképp be kéne valahogy töltenem egy adatbázisba :/
Más:
van egy ilyen php kódom:
$htmlcontent = file_get_contents($html_path);
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
unlink($html_path);
echo $htmlcontent;A $htmlcontent-ben van egy cca 2-300 karakter hosszó szöveg, ezt szeretném feltölteni az adatbázisba, mégpedig a description mezőbe, ami longtext tipusú. A query lefut, és majdnem mindent megfelelően tölt fel, csak a descriptiont nem, csak 5 karakternyit tölt be a mezőbe valamiért
utána kiirattam php oldalon a $htmlcontent-et, de abban szépen benne van a szöveg, tehát az adatbázis szarakszik valamiért, és nem tudok rájönni, hogy miért:/"Más" utáni részre reagálva:
A PDO exec() függvényét használod itt? Vagy ez saját wrapper osztály?
Ha a PDO-é, akkor azonnal felejtsd el, hogy exec() metódus használatával közvetlenül beleraksz felhasználótól érkező adatot. Meg nem ártana, ha kivételeket kezelnél.
Nem is értem, pont az a lényege a PDO-nak, hogy szépen lehet vele az adatokat kezelni, prepared statementeket lehet vele használni, így escape-elgetni sem kell a karaktereket, épp ez az egyik legjobb benne, de a másik pedig az előkészített query által megvalósítható szép kód - nincs szükség okádék string-összefűzögetésre, mint - bocs - a Te kódodban.
Tele von Zsinór kolléga a PHP topicban belinkelte a saját cikkét a témában, ami elég jól összefoglalja a dolgot:
http://maerlyn.eu/2011/12/03/pdo.htmlTehát
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
FELEJTŐS, HELYETTE:$dbh = NULL;
try {
// felhasználónév, jelszónál saját adat behelyettesítendő
$dbh = new PDO("mysql:host=localhost;dbname=test", "root", "root", array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
// ..............
$sth = $dbh->prepare('INSERT INTO offers (offer_id,description,images) VALUES (:offer_id, :description, :images)');
$sth->bindParam(':offer_id', $provider_id, PDO::PARAM_INT);
$sth->bindParam(':description', $htmlcontent, PDO::PARAM_STR);
$sth->bindParam(':images', $_FILES['uploaded_image']['name'], PDO::PARAM_STR);
$sth->execute();
echo 'Úgy tűnik, minden OK.';
}
catch (PDOException $err) {
echo 'Hiba: ', $e->getMessage();
}
catch (Exception $e) {
echo 'Másik hiba: ', $e->getMessage();
}Itt feltételeztem, hogy az offer_id egy INT.
Meg természetesen a kivételeket inkább naplózni kéne, és felhasználóbarát üzeneteket kiírni.Ja, és a fentivel nagy eséllyel kerülhető el az általad említett probléma.
Legalábbis remélem. Majd írd meg, mire jutottál. -
Jim-Y
veterán
Nem értelek. Minden adott a problémád megoldásához, a megoldásokat leírtam/leírtuk, de te nem csinálod meg. Mit vársz tőlünk? Menjünk át hozzád, és helyetted rakjunk fel egy Toad for Mysql-t, majd rakjuk fel az sql dumpot a lokális gépedre, és szépen nézegessük át veled az egészet? Majd magyarázzuk el, és simogassuk meg a buksidat?
Nem..ne haragudj, de lehet ami neked már evidens, az nekem még új, mivel ezekkel most találkozom először. Nekem úgy jött le, hogy a Toad for Mysql-t akkor kéne felraknom, ha van eléres a tényleges hosthoz, oda töltöm fel az adatbázist, és a TfM-el azt szerkesztem a saját gépemen. Mivel nem használtam még, ezért nekem az most csak egy név, jelentés nélkül, és igen, mivel teljesen kezdő vagyok, ezért tanácstalan is
Na de akkor felteszem.. -
martonx
veterán
Nem, ez egy létező sql-ből készített (exportált) .sql file, amit megkaptam, hogy ebből majd rá fogok jönni, hogy hogy épül fel az adatbázis/tábla. Ezért szeretném ezt megnyitni, gondoltam beimportálom phpmyadmin-ba, és ott majd megnézem, lehet akkor le kéne szednem egy third party SQL viewert? Mondjuk az sem oldja meg azt, hogy én kóddal, ebből az adatbázisból ki szeretnék majd nyerni adatokat, tehát mindenképp be kéne valahogy töltenem egy adatbázisba :/
Más:
van egy ilyen php kódom:
$htmlcontent = file_get_contents($html_path);
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
unlink($html_path);
echo $htmlcontent;A $htmlcontent-ben van egy cca 2-300 karakter hosszó szöveg, ezt szeretném feltölteni az adatbázisba, mégpedig a description mezőbe, ami longtext tipusú. A query lefut, és majdnem mindent megfelelően tölt fel, csak a descriptiont nem, csak 5 karakternyit tölt be a mezőbe valamiért
utána kiirattam php oldalon a $htmlcontent-et, de abban szépen benne van a szöveg, tehát az adatbázis szarakszik valamiért, és nem tudok rájönni, hogy miért:/Nem értelek. Minden adott a problémád megoldásához, a megoldásokat leírtam/leírtuk, de te nem csinálod meg. Mit vársz tőlünk? Menjünk át hozzád, és helyetted rakjunk fel egy Toad for Mysql-t, majd rakjuk fel az sql dumpot a lokális gépedre, és szépen nézegessük át veled az egészet? Majd magyarázzuk el, és simogassuk meg a buksidat?
-
Jim-Y
veterán
Nem, ez egy létező sql-ből készített (exportált) .sql file, amit megkaptam, hogy ebből majd rá fogok jönni, hogy hogy épül fel az adatbázis/tábla. Ezért szeretném ezt megnyitni, gondoltam beimportálom phpmyadmin-ba, és ott majd megnézem, lehet akkor le kéne szednem egy third party SQL viewert? Mondjuk az sem oldja meg azt, hogy én kóddal, ebből az adatbázisból ki szeretnék majd nyerni adatokat, tehát mindenképp be kéne valahogy töltenem egy adatbázisba :/
Más:
van egy ilyen php kódom:
$htmlcontent = file_get_contents($html_path);
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
unlink($html_path);
echo $htmlcontent;A $htmlcontent-ben van egy cca 2-300 karakter hosszó szöveg, ezt szeretném feltölteni az adatbázisba, mégpedig a description mezőbe, ami longtext tipusú. A query lefut, és majdnem mindent megfelelően tölt fel, csak a descriptiont nem, csak 5 karakternyit tölt be a mezőbe valamiért
utána kiirattam php oldalon a $htmlcontent-et, de abban szépen benne van a szöveg, tehát az adatbázis szarakszik valamiért, és nem tudok rájönni, hogy miért:/ -
martonx
veterán
a mysql nem egy felismerhető parancs:/
martonx: nincs elérésem a hosting mysqljéhez, itthon kell lokális gépen megírnom a programot, amit majd átportolok az éles környeztbe, egyszer...ezért szenvedek az xampp-al, meg a phpmyadminnal ami egyébként egy bughalmaz szerintem, de nincs jobb ötletem:S A fejlesztés szempontjából kénytelen vagyok itthon futtatni egy apachot és egy mysql-t, hogy úgy tudjam írni a programot..:/
no várj, akkor ezt az sql dumpot te csináltad? És ezt a hosting-on akarod futtatni?
Ha te csináltad, akkor miért 38 MB??? A dumpnál meg lehet adni, hogy csak a sémát dumpolja, az meg nem szokott sok MB lenni. -
Jim-Y
veterán
-
PazsitZ
addikt
a mysql nem egy felismerhető parancs:/
martonx: nincs elérésem a hosting mysqljéhez, itthon kell lokális gépen megírnom a programot, amit majd átportolok az éles környeztbe, egyszer...ezért szenvedek az xampp-al, meg a phpmyadminnal ami egyébként egy bughalmaz szerintem, de nincs jobb ötletem:S A fejlesztés szempontjából kénytelen vagyok itthon futtatni egy apachot és egy mysql-t, hogy úgy tudjam írni a programot..:/
a xampp könyvtár struktúrán belül van valahol a mysql/mysql.exe.
Alapból nincs benne a global path-ban. -
Jim-Y
veterán
a mysql nem egy felismerhető parancs:/
martonx: nincs elérésem a hosting mysqljéhez, itthon kell lokális gépen megírnom a programot, amit majd átportolok az éles környeztbe, egyszer...ezért szenvedek az xampp-al, meg a phpmyadminnal ami egyébként egy bughalmaz szerintem, de nincs jobb ötletem:S A fejlesztés szempontjából kénytelen vagyok itthon futtatni egy apachot és egy mysql-t, hogy úgy tudjam írni a programot..:/
-
martonx
veterán
"a gépemen xampp van csak" - ezek szerint saját gépen fut a mysql??? Ez esetben kérlek, a saját érdekedben tegyél fel egy Toad for MySql-t, a phpmyadmin-t meg hagyd meg a vérpistikéknek, vagy azoknak a szerencsétleneknek, akiknek nincs elérésük a hosting környezet mysql-éhez, mégis éles környezetben kell mókolniuk az sql-ben.
-
PazsitZ
addikt
Köszi a választ

Lenne még egy kérdésem, kaptam egy sql dump filet, amit szeretnék betölteni phpmyadmin-ba, de insert után azt írja, hogy a file túl nagy, és nem tudja betölteni. Nekem csak a tábla szerkezetére lenne szükségem, valami ötlet, hogy hogyan tudnám használhatóvá tenni fájlt? 38.5mb-os...
Ha csak a tábla definició kell, akkor miért nme másolod ki az sql fájlból?
Egyébként pedig simán konzolból importálhatod: mysql -u username -p password -h localhost databseName < dump.sql
-
Jim-Y
veterán
-
martonx
veterán
Köszi a választ

Lenne még egy kérdésem, kaptam egy sql dump filet, amit szeretnék betölteni phpmyadmin-ba, de insert után azt írja, hogy a file túl nagy, és nem tudja betölteni. Nekem csak a tábla szerkezetére lenne szükségem, valami ötlet, hogy hogyan tudnám használhatóvá tenni fájlt? 38.5mb-os...
felejtsd el a phpmyadmin-t. Ha van rendes elérésed a mysql-hez, akkor toad for mysql-t használj.
-
Jim-Y
veterán
Ha 1 - több kapcsolat van a két tábla között, akkor a kapcsoláshoz nem kell több.
A child/detail táblában felveheted még foreign keynek a mezőt, tudsz constraintet is definiálni hozzá, amely megakadályozza, hogy a child táblában létrejöjjön rekord megfelelő parent/detail nélkül, illetve meghatározhatod, hogy mi történjen, ha a parent táblában módosul vagy törlődik az adott kulcsú rekord. Storage engine-től függ, hogy támogatja-e az FK-t, InnoDB támogatja csak.Köszi a választ

Lenne még egy kérdésem, kaptam egy sql dump filet, amit szeretnék betölteni phpmyadmin-ba, de insert után azt írja, hogy a file túl nagy, és nem tudja betölteni. Nekem csak a tábla szerkezetére lenne szükségem, valami ötlet, hogy hogyan tudnám használhatóvá tenni fájlt? 38.5mb-os...
-
wolandino
tag
-
bpx
őstag
SELECT data_connections.connection_id, NULL AS isTree
FROM `data_connections`
UNION
SELECT data_connections.connection_id, data_trees.connection_id AS isTree
FROM `data_connections`
JOIN data_trees ON data_trees.connection_id = data_connections.connection_idVan ez a lekérdezésem, ami jól is működik, azt is adja amit kell.
Az lenne a kérdésem, hogy nem lehetne-e valahogy legyszerűsíteni?
egy olyan "join" kellene nekem, amiben ha egy connection_id nem található meg a connection_tree-ben, akkor null-ot ad vissza....segítségnek itt van a lekérdezés eredménye:
connection_id isTree
1 NULL
5 NULL
7 NULL
1 1azt úgy hívják, hogy: outer join
-
wolandino
tag
SELECT data_connections.connection_id, NULL AS isTree
FROM `data_connections`
UNION
SELECT data_connections.connection_id, data_trees.connection_id AS isTree
FROM `data_connections`
JOIN data_trees ON data_trees.connection_id = data_connections.connection_idVan ez a lekérdezésem, ami jól is működik, azt is adja amit kell.
Az lenne a kérdésem, hogy nem lehetne-e valahogy legyszerűsíteni?
egy olyan "join" kellene nekem, amiben ha egy connection_id nem található meg a connection_tree-ben, akkor null-ot ad vissza....segítségnek itt van a lekérdezés eredménye:
connection_id isTree
1 NULL
5 NULL
7 NULL
1 1 -
Lortech
addikt
Sziasztok, létre szeretnék hozni phpmyadmin alatt mysql-ben egy adatbázist 4 táblával. A kérdésem a következő:
1. tábla -> range_desc_id
2. tábla -> range_desc_id
ezeket szeretném összekapcsolni, hogy lehet ezt megcsinálni amikor létrehoztam a táblákat, de még nincs adat bennük?Mert az oké, hogy utána lekérdezésnél WHERE table1.range_desc_id=table2.range_desc_id, de ezt nem kell összekötni az adatbázisban valahogy? üdv
Ha 1 - több kapcsolat van a két tábla között, akkor a kapcsoláshoz nem kell több.
A child/detail táblában felveheted még foreign keynek a mezőt, tudsz constraintet is definiálni hozzá, amely megakadályozza, hogy a child táblában létrejöjjön rekord megfelelő parent/detail nélkül, illetve meghatározhatod, hogy mi történjen, ha a parent táblában módosul vagy törlődik az adott kulcsú rekord. Storage engine-től függ, hogy támogatja-e az FK-t, InnoDB támogatja csak. -
Jim-Y
veterán
Sziasztok, létre szeretnék hozni phpmyadmin alatt mysql-ben egy adatbázist 4 táblával. A kérdésem a következő:
1. tábla -> range_desc_id
2. tábla -> range_desc_id
ezeket szeretném összekapcsolni, hogy lehet ezt megcsinálni amikor létrehoztam a táblákat, de még nincs adat bennük?Mert az oké, hogy utána lekérdezésnél WHERE table1.range_desc_id=table2.range_desc_id, de ezt nem kell összekötni az adatbázisban valahogy? üdv
-
InfiniteReality
őstag
Kérdés, adott egy adatbázis, amit szétdobtam az egyik mező adatai alapján évek szerint külön táblákba (tehát minden év összes bejegyzése külön táblában van már).
Amikor az egész egyben volt, akkor az alábbi lekérdezés hibátlanul működött (a jatekosl mező tartalma ugyanaz mint a jatekos mezőé, de kisbetűsítve):
SELECT jatekos, sum(pont) FROM jateklista WHERE pont >='1' GROUP BY jatekosl ORDER BY 2 LIMIT 50
Az évek szerint szétdobott táblák esetén a következő lekérdezést alkalmaztam, hogy a fenti eredményt elérjem (csak 2 évet írok le, mivel a teljes időszak lekérdezését PHPban állítom elő dinamikusan, a hiba úgyis ugyanaz):
(SELECT jatekos, sum(pont) FROM jateklista2005 WHERE pont >= '1' GROUP BY jatekosl) UNION (SELECT jatekos, sum(pont) FROM jateklista2006 WHERE pont >= '1' GROUP BY jatekosl) ORDER BY 2 DESC LIMIT 50
A hiba pedig az, hogy minden játékos annyiszor szerepel, ahány évben beleesik a fenti lekérdezésbe. Nyilván valami alap dolgot rontok el, de remélem tudtok segíteni
Esetleg ha valakinek van "szebb" megoldása, megköszönöm. 
Megoldottam úgy, hogy csak racionalizáltam a mezőket és minden mezőhöz megfelelőbb adattípust választottam, mint ami eddig volt (ezzel 1 mb-tal kevesebb lett a tábla mérete), illetve az olyan mezőkről amikre nem irányul sok lekérdezés illetőleg kevésbé befolyásolják a végeredményt, levettem az indexet (eddig minden mezőn volt index, ami miatt a beírás volt lassabb).
Lényeg, hogy végül hagytam az egész táblát egyben, nem csaptam szét évekre, mert a lekérdezés több erőforrást igényelt volna ha sikerül rendesen megírni, mint az, hogy a tábla egyben van. Olyan 162 ezer sora van jelenleg az érintett táblának. -
martonx
veterán
megismerve a feladatot, ez egy darab táblával kényelmesen megoldható.
Oszlopok:
azonosító, szülő, értékÉs pl. így nézne ki egy-egy sor:
1, 0, élőlény
2, 1, állat
3, 1, növény
4, 2, tigris
5, 2, krokodil
6, 3, pálma
7, 3, ibolyaAz első legördülő mezőben megmutatod az élőlényt
A másodikban állat, vagy növény.
Ez alapján a harmadikat feltöltöd az 2-es vagy a 3-as szülőjű tételekkel.
Ráadásul elég csak a legutolsó választást letárolnod pl. 6. Ebből visszakereshető, hogy a választott érték pálma, ennek a szülője a növény, ami pedig az élőlényekből származik. -
InfiniteReality
őstag
Amennyiben csak elírás, akkor vedd semmisnek a következőket:
Select művelet eredményéről beszélünk. a mysql_affected_rows INSERT, UPDATE, REPLACE or DELETE parancsok esetén adja vissza az érintett sorok számát. Ez SELECT esetén mindig 0 értéket ad vissza.
Ilyen esetben (SELECT) a mysql_num_rows parancs adhat valós értéket.Biztos csak elírás annak a részéről, aki ezt leírta. Vagy régi php/mysql verzióra vonatkozik (nálam mindkettőből 5-ös van).
Szinten mindenhol lecseréltem a num_rows-t affected_rows-ra és működik.Ez működik:
SELECT jatekos, sum(pont) FROM jateklista WHERE pont >='1' GROUP BY jatekosl ORDER BY 2 LIMIT 50Utána egy if mysql_affected_rows() > 0 van annak eldöntésére vannak-e eredmények vagy sem. Ezzel a paranccsal (és egyben lévő adatbázissal) bemegy abba az ágba, ahol ki kell írni az eredményeket.
(SELECT jatekos, sum(pont) FROM jateklista2005 WHERE pont >= '1' GROUP BY jatekosl) UNION (SELECT jatekos, sum(pont) FROM jateklista2006 WHERE pont >= '1' GROUP BY jatekosl) ORDER BY 2 DESC LIMIT 50
Ez az évekre szétdarabol adatbázisra készült és működik, de nem a várt eredményt hozza, nem azt amire szükségem lenne.
-
PazsitZ
addikt
Kell vagy nem, egy if (mysql_affected_rows() >0) paranccsal le van kezelve, hogy van-e a lekérdezésnek eredménye. Az első hozzászólásomban lévő mindkét lekérdezésnek van eredménye, az egyik jó, a másik hibás. Amiket beirtatok azoknak pedig nincs eredménye, de hibát sem okoznak...
Amennyiben csak elírás, akkor vedd semmisnek a következőket:
Select művelet eredményéről beszélünk. a mysql_affected_rows INSERT, UPDATE, REPLACE or DELETE parancsok esetén adja vissza az érintett sorok számát. Ez SELECT esetén mindig 0 értéket ad vissza.
Ilyen esetben (SELECT) a mysql_num_rows parancs adhat valós értéket. -
InfiniteReality
őstag
Kell vagy nem, egy if (mysql_affected_rows() >0) paranccsal le van kezelve, hogy van-e a lekérdezésnek eredménye. Az első hozzászólásomban lévő mindkét lekérdezésnek van eredménye, az egyik jó, a másik hibás. Amiket beirtatok azoknak pedig nincs eredménye, de hibát sem okoznak...
-
PazsitZ
addikt
Nincs eredmény

Pedig kell lennie valamilyen eredménynek, legalábbb egy hibaüzenetnek vagy valami.
Ha valami hibát is közölsz, talán tudunk segíteni. -
martonx
veterán
Ez így nem ad eredményt
Azthiszem azért, mert az UNION-os cuccot nem lehet GROUP BY-olni...miért ne lehetne az union-t group by-olni?
Másrészt 428 ezer sor miatt szedted szét?
Majd ha sok millió sor lesz benne. Talán inkább rendesen indexelni kellene, ha a 428 ezer sor lassú. -
InfiniteReality
őstag
Nincs eredmény

-
PazsitZ
addikt
Ez így nem ad eredményt
Azthiszem azért, mert az UNION-os cuccot nem lehet GROUP BY-olni...SELECT jatekos, SUM(pont) AS pont FROM (
(SELECT jatekos, sum(pont) AS pont FROM jateklista2005 WHERE pont >= 1 GROUP BY jatekosl)
UNION
(SELECT jatekos , sum(pont) AS pont FROM jateklista2006 WHERE pont >= 1 GROUP BY jatekosl)
) AS sumtable
GROUP BY jatekos
ORDER BY pont DESC -
InfiniteReality
őstag
Ennyire nem vágom mélyen a MySQL-t, esetleg leírnád hogyan állítsam össze a lekérdezést? Temp táblát nem szeretnék ehhez használni...
Ha ennyire nehéz az évekre bontott táblákból megoldani ezt a fajta lekérdezést, akkor hagyom egyben, de már 428ezer sort tartalmaz az adatbázisnak ez a táblája, s gondoltam az egyes évekre irányuló lekérdezések valamint az új beírások az aktuális évbe gyorsabbak lesznek, ha szétcsapom az egészet évekre... -
ArchElf
addikt
Ez így nem ad eredményt
Azthiszem azért, mert az UNION-os cuccot nem lehet GROUP BY-olni...Tedd bele az union-t egy view-ba (vagy temp táblába), és az már majd lehet...
AE
-
InfiniteReality
őstag
Csak annyi hiányzik, hogy a lekérdezésed most évenként jön fel, szóval kívülre kell még egy group by.
Vagy csinálsz egy nézetet a szétbontott táblákra, és akkor elég egy group by a nézetre.pl:
SELECT jatekos, sum(pont) FROM
(
SELECT jatekos, pont FROM jateklista2005 WHERE pont >= '1'
UNION
SELECT jatekos, pont FROM jateklista2006 WHERE pont >= '1'
)
GROUP BY jatekos
ORDER BY 2 DESC LIMIT 50Ez így nem ad eredményt
Azthiszem azért, mert az UNION-os cuccot nem lehet GROUP BY-olni... -
rum-cajsz
őstag
Kérdés, adott egy adatbázis, amit szétdobtam az egyik mező adatai alapján évek szerint külön táblákba (tehát minden év összes bejegyzése külön táblában van már).
Amikor az egész egyben volt, akkor az alábbi lekérdezés hibátlanul működött (a jatekosl mező tartalma ugyanaz mint a jatekos mezőé, de kisbetűsítve):
SELECT jatekos, sum(pont) FROM jateklista WHERE pont >='1' GROUP BY jatekosl ORDER BY 2 LIMIT 50
Az évek szerint szétdobott táblák esetén a következő lekérdezést alkalmaztam, hogy a fenti eredményt elérjem (csak 2 évet írok le, mivel a teljes időszak lekérdezését PHPban állítom elő dinamikusan, a hiba úgyis ugyanaz):
(SELECT jatekos, sum(pont) FROM jateklista2005 WHERE pont >= '1' GROUP BY jatekosl) UNION (SELECT jatekos, sum(pont) FROM jateklista2006 WHERE pont >= '1' GROUP BY jatekosl) ORDER BY 2 DESC LIMIT 50
A hiba pedig az, hogy minden játékos annyiszor szerepel, ahány évben beleesik a fenti lekérdezésbe. Nyilván valami alap dolgot rontok el, de remélem tudtok segíteni
Esetleg ha valakinek van "szebb" megoldása, megköszönöm. 
Csak annyi hiányzik, hogy a lekérdezésed most évenként jön fel, szóval kívülre kell még egy group by.
Vagy csinálsz egy nézetet a szétbontott táblákra, és akkor elég egy group by a nézetre.pl:
SELECT jatekos, sum(pont) FROM
(
SELECT jatekos, pont FROM jateklista2005 WHERE pont >= '1'
UNION
SELECT jatekos, pont FROM jateklista2006 WHERE pont >= '1'
)
GROUP BY jatekos
ORDER BY 2 DESC LIMIT 50 -
wolandino
tag
-
InfiniteReality
őstag
Kérdés, adott egy adatbázis, amit szétdobtam az egyik mező adatai alapján évek szerint külön táblákba (tehát minden év összes bejegyzése külön táblában van már).
Amikor az egész egyben volt, akkor az alábbi lekérdezés hibátlanul működött (a jatekosl mező tartalma ugyanaz mint a jatekos mezőé, de kisbetűsítve):
SELECT jatekos, sum(pont) FROM jateklista WHERE pont >='1' GROUP BY jatekosl ORDER BY 2 LIMIT 50
Az évek szerint szétdobott táblák esetén a következő lekérdezést alkalmaztam, hogy a fenti eredményt elérjem (csak 2 évet írok le, mivel a teljes időszak lekérdezését PHPban állítom elő dinamikusan, a hiba úgyis ugyanaz):
(SELECT jatekos, sum(pont) FROM jateklista2005 WHERE pont >= '1' GROUP BY jatekosl) UNION (SELECT jatekos, sum(pont) FROM jateklista2006 WHERE pont >= '1' GROUP BY jatekosl) ORDER BY 2 DESC LIMIT 50
A hiba pedig az, hogy minden játékos annyiszor szerepel, ahány évben beleesik a fenti lekérdezésbe. Nyilván valami alap dolgot rontok el, de remélem tudtok segíteni
Esetleg ha valakinek van "szebb" megoldása, megköszönöm. 
-
ArchElf
addikt
bármi kapcsolódhat bármivel, de nem minden mindennel.
Egymás alatt vannak a listák, amik egy meghatározott fogalom pontosításait adjákpl: első legördülőben kiválasztom a lehetőségek közül az élőlényt
így a második legördülőben már csak élőlények csoportjai vannak kiválasztom a gerinceseket
a harmadikban így csak a gerincesek vannak, abból kiválasztom az emlősöket,
stb...
vannak listák, amelyek nem függenek semmitől, és tőlük sem függ semmi, de sajnos azt még nem tudom, hogy mi mitől fog függeni, ráadásul ez változhat is, így inkább egy általános modelt próbálok megadni, ami flexibilis.Ez egy (de legfeljebb kettő) táblában megoldható...
AE
-
wolandino
tag
"Arra gondoltam, hogy két táblára lenne szükségem
az egyik mondjuk table_connect(melyik_táblát, melyikkel)
a másik pedig a data_tree( melyik_tábla, melyik_adata_id, melyik_táblával, melyik_adatával_id)"Erre. Javaslom, hogy ez a koncepció helyett minden tábla között, ami között sok-sok kapcsolat lehet, vegyél fel külön kapcsolótáblákat. Ettől még a te ötleted is működik.
Ha pedig 10 tábla közül minden kapcsolódhat mindennel, akkor ott valami alapvetően félre van tervezve.bármi kapcsolódhat bármivel, de nem minden mindennel.
Egymás alatt vannak a listák, amik egy meghatározott fogalom pontosításait adjákpl: első legördülőben kiválasztom a lehetőségek közül az élőlényt
így a második legördülőben már csak élőlények csoportjai vannak kiválasztom a gerinceseket
a harmadikban így csak a gerincesek vannak, abból kiválasztom az emlősöket,
stb...
vannak listák, amelyek nem függenek semmitől, és tőlük sem függ semmi, de sajnos azt még nem tudom, hogy mi mitől fog függeni, ráadásul ez változhat is, így inkább egy általános modelt próbálok megadni, ami flexibilis. -
D@ni88
addikt
Nem írtad az adatbázist! Oracle-ben pl. az ALL_IND_COLUMNS nézetből lekérdezheted:
select
INDEX_NAME,
LPAD(TABLE_NAME,17) TABLE_NAME,
LPAD(COLUMN_NAME,15) COLUMN_NAME,
LPAD(COLUMN_POSITION,5) COLUMN_POSITION
from ALL_IND_COLUMNS
WHERE TABLE_NAME = upper('&tablename')
order by INDEX_NAME,COLUMN_POSITION;Köszi.
Ez bejött
-
martonx
veterán
Köszönöm

Igen, azért van szükség a kapcsolódó táblára, mivel valószínűleg elő fog fordulni a sok a sokhoz eset, ezt sajnos még nem tudom, a felhasználó fogja eldönteni..."Ha már kapcsoló táblád van, érdemes tábla-tábla közé létrehozni egy-egy kapcsoló táblát, legalábbis az ORM-ek ezeket tudják értelmesen feldolgozni, és itt már csak felesleges túlbonyolításnak érzem, egy nagy kapcsoló táblát létrehozni."
Itt nem nagyon értem, hogy mire gondoltolál

"Arra gondoltam, hogy két táblára lenne szükségem
az egyik mondjuk table_connect(melyik_táblát, melyikkel)
a másik pedig a data_tree( melyik_tábla, melyik_adata_id, melyik_táblával, melyik_adatával_id)"Erre. Javaslom, hogy ez a koncepció helyett minden tábla között, ami között sok-sok kapcsolat lehet, vegyél fel külön kapcsolótáblákat. Ettől még a te ötleted is működik.
Ha pedig 10 tábla közül minden kapcsolódhat mindennel, akkor ott valami alapvetően félre van tervezve. -
wolandino
tag
mivel nulla konkrétumot árultál el...
Általánosságban:
Kapcsoló tábla jellemzően a sok a sokhoz esetben kell, a többi esetet sima foreign key-ekkel meg tudod oldani.
Ha már kapcsoló táblád van, érdemes tábla-tábla közé létrehozni egy-egy kapcsoló táblát, legalábbis az ORM-ek ezeket tudják értelmesen feldolgozni, és itt már csak felesleges túlbonyolításnak érzem, egy nagy kapcsoló táblát létrehozni.
De te tudod.Köszönöm

Igen, azért van szükség a kapcsolódó táblára, mivel valószínűleg elő fog fordulni a sok a sokhoz eset, ezt sajnos még nem tudom, a felhasználó fogja eldönteni..."Ha már kapcsoló táblád van, érdemes tábla-tábla közé létrehozni egy-egy kapcsoló táblát, legalábbis az ORM-ek ezeket tudják értelmesen feldolgozni, és itt már csak felesleges túlbonyolításnak érzem, egy nagy kapcsoló táblát létrehozni."
Itt nem nagyon értem, hogy mire gondoltolál

-
martonx
veterán
Sziasztok,
Egy kis gondban vagyok, mert adott egy alkalmazásom, amit bővíteni kellene.
Az alkalmazás tartalmaz egy űrlapot, ahol legördülők vannak, kb 10 db.
Mindegyik legördülő mögött egy tábla van: (név, id) párokkal lényegében.Eddig ezek egymástól függetlenül léteztek, de most úgy kellene bővíteni a funkcionalitást, hogy egy admin felületen lehetőséget adni az adminnak arra, hogy kiválasztott listák egyes értékeitől tegye függővé, hogy a másik legördülő mit jelenít meg.
Az adatkapcsolat így lehet sok-sok, egy-sok és sok-egy is.Arra gondoltam, hogy két táblára lenne szükségem
az egyik mondjuk table_connect(melyik_táblát, melyikkel)
a másik pedig a data_tree( melyik_tábla, melyik_adata_id, melyik_táblával, melyik_adatával_id)Az első tábla adná meg, hogy melyik táblától melyik tábla függjön, a második tábla pedig megadná, hogy az egyik tábla mely konkrét értékekeihez a másik tábla mely értékeit rendeljük.
Nem tudom mennyire érthető, de érdekelne pár tapasztalt adatbányász véleménye.
Köszönettel,
W.mivel nulla konkrétumot árultál el...
Általánosságban:
Kapcsoló tábla jellemzően a sok a sokhoz esetben kell, a többi esetet sima foreign key-ekkel meg tudod oldani.
Ha már kapcsoló táblád van, érdemes tábla-tábla közé létrehozni egy-egy kapcsoló táblát, legalábbis az ORM-ek ezeket tudják értelmesen feldolgozni, és itt már csak felesleges túlbonyolításnak érzem, egy nagy kapcsoló táblát létrehozni.
De te tudod. -
wolandino
tag
Sziasztok,
Egy kis gondban vagyok, mert adott egy alkalmazásom, amit bővíteni kellene.
Az alkalmazás tartalmaz egy űrlapot, ahol legördülők vannak, kb 10 db.
Mindegyik legördülő mögött egy tábla van: (név, id) párokkal lényegében.Eddig ezek egymástól függetlenül léteztek, de most úgy kellene bővíteni a funkcionalitást, hogy egy admin felületen lehetőséget adni az adminnak arra, hogy kiválasztott listák egyes értékeitől tegye függővé, hogy a másik legördülő mit jelenít meg.
Az adatkapcsolat így lehet sok-sok, egy-sok és sok-egy is.Arra gondoltam, hogy két táblára lenne szükségem
az egyik mondjuk table_connect(melyik_táblát, melyikkel)
a másik pedig a data_tree( melyik_tábla, melyik_adata_id, melyik_táblával, melyik_adatával_id)Az első tábla adná meg, hogy melyik táblától melyik tábla függjön, a második tábla pedig megadná, hogy az egyik tábla mely konkrét értékekeihez a másik tábla mely értékeit rendeljük.
Nem tudom mennyire érthető, de érdekelne pár tapasztalt adatbányász véleménye.
Köszönettel,
W. -
rum-cajsz
őstag
Nem írtad az adatbázist! Oracle-ben pl. az ALL_IND_COLUMNS nézetből lekérdezheted:
select
INDEX_NAME,
LPAD(TABLE_NAME,17) TABLE_NAME,
LPAD(COLUMN_NAME,15) COLUMN_NAME,
LPAD(COLUMN_POSITION,5) COLUMN_POSITION
from ALL_IND_COLUMNS
WHERE TABLE_NAME = upper('&tablename')
order by INDEX_NAME,COLUMN_POSITION; -
D@ni88
addikt
Egyszerű select-el meg lehet tudni, milyen indexen vannak egy táblára, esetleg mezőjére?
Sajnos van 2x indexet hoztak létre egy táblára, és jobb lenne biztosra menni, nem mindet végignézni...
-
D@ni88
addikt
-
martonx
veterán
Munkahelyi anyagot nem rakhatok netre

Érdekes, mint kiderült nem is a Select-ekben van a hiba. (~160 sort dolgoz fel a select)
Fájlba történő kiírásnál van a probléma. Néha 1 oerc, néha 3 óra. Pedig ugyan azzal a paraméterrel hívom meg... Ha SQL navigátor debuggerjével megyek át rajta akkor nincs gond...160 sort??? És ennek fájlba írása 1 perc??? A 3 óráról nem is beszélve...
-
D@ni88
addikt
Munkahelyi anyagot nem rakhatok netre

Érdekes, mint kiderült nem is a Select-ekben van a hiba. (~160 sort dolgoz fel a select)
Fájlba történő kiírásnál van a probléma. Néha 1 oerc, néha 3 óra. Pedig ugyan azzal a paraméterrel hívom meg... Ha SQL navigátor debuggerjével megyek át rajta akkor nincs gond... -
rum-cajsz
őstag
Oracleben van lehetőség a Materializált Nézetekre, amivel valóban lehet gyorsítani a selectedet, de ezt körültekintően érdemes használni.
De a legfőbb kérdés, hogy mire akarod használni az adott selectet. A hálózati forgalom pl. minimalizálható, ha nézetet használsz, ám ha ezt a lekérdezést egy sql*plusban adod ki, akkor nem lesz különbség a két (select contra view) között.
-
martonx
veterán
-
bpx
őstag
ha bekapcsolod, aprólékosan minden egyes aktivitást, várakozást feljegyez egy trace fájlba, amit később ki lehet értékelni
pl. tkprof-fal lehet ember által emészthető formára hozni, ahol lehet látni pl. minden egyes sql utasításra, hogy milyen tervvel futott, és a terv egyes lépései mennyi ideig tartottak#1026: a view nem más, mint egy elmentett lekérdezés aminek neve van, semmivel se gyorsabb se mysqlben, se Oracle-ben, csak kényelmesebb
-
D@ni88
addikt
Illetve olvastam olyat, hogy Mysql-ben gyorsítja a lekérdezéseket a View-k használata.
Ez igaz az Oracle-re is? -
D@ni88
addikt
session trace?
Az mi lenne? -
bpx
őstag
megfelelő indexeket létrehozni, statisztikát gyűjteni
végrehajtási tervet megnézni
session trace, majd ott megnézni, hogy mi veszi el sok időtha ezek megvoltak, na akkor lehet hintelni
legvégső esetben hidden paraméterek, ha valami nagyon specifikus a probléma -
D@ni88
addikt
Hello,
Adnátok pár tippet adni, hogyan lehet egy selectet gyorsítani?
hint-ekről esetleg magyar leírás? -
Lacces
őstag
Én valahogy idegenkedek a NoSQL-től. Jóllehet bizonyos esetekben kiválthatnak hagyományos funkciókat pl. cookie-kat, session-öket, illetve ezek közötti kommunikációt könnyű NoSQL-lel, szépen adminisztrálható, áttekinthető módon megoldani.
Jól jöhetnek akkor is, ha abszolút változó oszlopszámú rekordokat kell tárolni.
Illetve előnyük még, hogy a szöveg alapú keresésben hatékonyabbak (ez azért relatív), mint a hagyományos relációs adatbázisok.
Hátrányuk, hogy egy szépen felépített adatbázissal, ahol minden mindennel relációban van, egyszerűen nem vehetik fel a versenyt.
És itt jegyezném meg, hogy az ilyen "vannak oszlopok is, értékek, amelyek mindig tetszőleges számúak! Az egyik diagramnak 4 oszlopa van, míg a másiknak 8 oszlopa van." esetek meglátásom szerint túlnyomórészt adatbázis, program rendszer tervezési hibák miatt születő megoldások, ahol a tervezés butaságait a NoSQL sem fogja megoldani, maximum elfedi, sőt a kötetlensége miatt akár fel is erősítheti ezt a jelenséget.
A kétféle SQL használata abszolút nem zárja ki egymást, párhuzamosan is lehet használni őket.
Köszi!
Lehet az lesz, hogy próbaképen mindkettőre adattárolási formára ráeresztem majd a webalkalmazást.
Aztán így lehet tapasztalatokat levonni.
A tanulmányokon és tutorialokon kívül nincs gyakorlatom adatbázis tervezésben, így majd lehet itt kérnék tanácsot később

-
martonx
veterán
Sziasztok!
Találkoztam ezzel a mongoDB-vel csak a nevével, de ez most mégis micsoda? Adatbázis, én úgy olvastam, hogy valami dokument alapú adatbázis, de ez mit jelent? (wikipédiás magyarázatot sem értem így hirtelen)
Én nézegettem neten, és aztláttam, hogy Json alapú, OOP világába jobban illik bele.Igazából gyakorlban milyen ezt használni, jobb mintha a sima SQL-t használnám?
Például. Weboldalt akarok, ahol van blog, user kezelés, de szeretnék diagramokat is kezelni,
A diagramoknak vannak adatai, id, név, téma, stb. Visszont vannak oszlopok is, értékek, amelyek mindig tetszőleges számúak! Az egyik diagramnak 4 oszlopa van, még a másiknak 8 oszlopa van.
Ebben az esetben MongoDB vagy SQL-t érdemes használni? Indokot is kérnék ha szabad

Nekem még vadiúj ez a NoSQL világÉn valahogy idegenkedek a NoSQL-től. Jóllehet bizonyos esetekben kiválthatnak hagyományos funkciókat pl. cookie-kat, session-öket, illetve ezek közötti kommunikációt könnyű NoSQL-lel, szépen adminisztrálható, áttekinthető módon megoldani.
Jól jöhetnek akkor is, ha abszolút változó oszlopszámú rekordokat kell tárolni.
Illetve előnyük még, hogy a szöveg alapú keresésben hatékonyabbak (ez azért relatív), mint a hagyományos relációs adatbázisok.
Hátrányuk, hogy egy szépen felépített adatbázissal, ahol minden mindennel relációban van, egyszerűen nem vehetik fel a versenyt.
És itt jegyezném meg, hogy az ilyen "vannak oszlopok is, értékek, amelyek mindig tetszőleges számúak! Az egyik diagramnak 4 oszlopa van, míg a másiknak 8 oszlopa van." esetek meglátásom szerint túlnyomórészt adatbázis, program rendszer tervezési hibák miatt születő megoldások, ahol a tervezés butaságait a NoSQL sem fogja megoldani, maximum elfedi, sőt a kötetlensége miatt akár fel is erősítheti ezt a jelenséget.
A kétféle SQL használata abszolút nem zárja ki egymást, párhuzamosan is lehet használni őket.
-
Lacces
őstag
Sziasztok!
Találkoztam ezzel a mongoDB-vel csak a nevével, de ez most mégis micsoda? Adatbázis, én úgy olvastam, hogy valami dokument alapú adatbázis, de ez mit jelent? (wikipédiás magyarázatot sem értem így hirtelen)
Én nézegettem neten, és aztláttam, hogy Json alapú, OOP világába jobban illik bele.Igazából gyakorlban milyen ezt használni, jobb mintha a sima SQL-t használnám?
Például. Weboldalt akarok, ahol van blog, user kezelés, de szeretnék diagramokat is kezelni,
A diagramoknak vannak adatai, id, név, téma, stb. Visszont vannak oszlopok is, értékek, amelyek mindig tetszőleges számúak! Az egyik diagramnak 4 oszlopa van, még a másiknak 8 oszlopa van.
Ebben az esetben MongoDB vagy SQL-t érdemes használni? Indokot is kérnék ha szabad

Nekem még vadiúj ez a NoSQL világ -
martonx
veterán
Egyrészt kulcsnak az esetek 99%-ában int-et javaslok. Másrészt alapvetően félreértelmezed az idegen kulcsok működését.
-
ubid
senior tag
Akkor ez azt jelenti, mondjuk ha idegen kulcsal szeretnék mutatni egy másik táblában lévő COMPANY_NAME-re ami mondjuk nvarchar(MAX) akkor az általam készített táblába csinálok mondjuk egy FK_C_NAME -et ami szintén nvarchar akkor ez így megfelelő neki ?
-
martonx
veterán
nem kötelező uniquedintifier-t használni. A lényeg, hogy összetalálkozzanak a kulcsaid.
-
ubid
senior tag
Helló!
MSSQL-be ( meg gondolom máshol is ) idegen kulcsnak uniqueidentifier-nek kell lennie, és csak a másik tábla ID-jához kapcsolódhat ami szintén uniqueidentifier ?
Vagy csak annyi a lényeg, hogy a két kulcs egyező típusú legyen ? ( mondjuk int - int )
-
Kommy
veterán
-
bpx
őstag
-
Kommy
veterán
Sziasztok,
lehetséges olyat csináni, hogy egy lekérésből kizárni azokat a sorokat amelyekben az url mezo cikk/ -el kezdődik ( url kinézete: cikk/cikk_cime), ha ez lehetségea kkor hogyan
-
ubid
senior tag
-
martonx
veterán
-
ubid
senior tag
-
ArchElf
addikt
Nem CD-ről (vagy valamilyen írásvédett médiáról) próbálod felcsatolni véletlenül?
SQL Server szervízt futtató felhasználónak van oda hozzáférési joga?AE
-
ubid
senior tag
-
D@ni88
addikt
lehet, de ehhez nem kell újra feltalálni a kereket:
SQL> create table test1(name varchar2(10));
Table created.
SQL> insert into test1 values('Spongyabob');
1 row created.
SQL> insert into test1 values('Patrik');
1 row created.
SQL> insert into test1 values('Tunyacsáp');
1 row created.
SQL> commit;
Commit complete.
SQL> select listagg(name,',') within group (order by name) as nevek from test1;
NEVEK
------------------------------
Patrik,Spongyabob,TunyacsápEz mondjuk 11.2-es feature, ha ennél régebbi az Oracle, akkor google: oracle string aggregation
10.2

-
bpx
őstag
lehet, de ehhez nem kell újra feltalálni a kereket:
SQL> create table test1(name varchar2(10));
Table created.
SQL> insert into test1 values('Spongyabob');
1 row created.
SQL> insert into test1 values('Patrik');
1 row created.
SQL> insert into test1 values('Tunyacsáp');
1 row created.
SQL> commit;
Commit complete.
SQL> select listagg(name,',') within group (order by name) as nevek from test1;
NEVEK
------------------------------
Patrik,Spongyabob,TunyacsápEz mondjuk 11.2-es feature, ha ennél régebbi az Oracle, akkor google: oracle string aggregation
-
martonx
veterán
Persze, meg lehet oldani. Kérdés, hogy ez minek kell neked, mert az SQL általában nem erre való.
-
#65304576
törölt tag
Nézz rá az "execute immediate ..." szintaxisára. De ez elég csúnya dolog szokott lenni, én inkább a logikán változtatnék.
-
D@ni88
addikt
Még egy kérdésem lenne:
Meg lehet azt oldani, hogy ha egy function-t pl így hívok meg.termekek('select name from termekek');
Ennek a kimeneteként egy varchar típust szeretnék kapni, amiben vesszővel elválasztva szerepeljenek a termékek nevei.
-
bpx
őstag
-
D@ni88
addikt
Meg lehet úgy oldani PL/SQL-ben hogy több mezőt szeretnék kinyerni egy selectből
pl
select first_name into fname,
last_name into lname
from users.
Új hozzászólás Aktív témák
-
1100 - 1001
6041 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Parkside szerszám kibeszélő
- Milyen videókártyát?
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- Milyen billentyűzetet vegyek?
- Nem kell még temetni: 2 éves órajelcsúcsot döntöttek meg Raptor Lake-kel
- Óra topik
- Június 18-án érkezik a Hell Let Loose: Vietnam PC-re és konzolokra
- Canon MILC: EOS R és M topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- További aktív témák...
- 4000GB Gen4x4 NVMe SSD, 1 év gar 4TB!!!
- SZÉP! HP ZBOOK FURY 15 G7 Tervező Vágó Laptop -70% 15,6" i7-10850H 32/512 Quadro RTX 3000 6GB FHD
- GARANCIÁLIS LEMEZES PLAYSTATION 5 SLIM CFI-2116
- NAGYKER ÁR!Sosemhasznált! HP OmniBook 5 Flip i5-1334U 8GB 512GB 14" FHD+ áthajtós-érintős Gar.: 1 év
- Macbook Pro 14" A2442 2021 M1 Pro 32/1TB Silver
- HIBÁTLAN iPhone 15 Plus 128GB Black -2 ÉV GARANCIA - Kártyafüggetlen, MS5502, 91% Akkumulátor
- Dell Optiplex 5050 SFF,i7-7700,16GB DDR4,256GB M2 SSD+ 500GB 2.5" HDD,DVD,WIN11
- Fém, összecsukható és kihúzható fotó állvány eladó
- Eladó egy xiaomi redmi 15 7000mah akkumulátoral
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



![;]](http://cdn.rios.hu/dl/s/v1.gif)






