Új hozzászólás Aktív témák
-
Dilikutya
félisten
válasz
Dilikutya
#3527
üzenetére
Nem sokkal később megtaláltam a megoldást:
SET GLOBAL innodb_file_format = barracuda; Ezt futtatni kell egy query-ből.
Ez érvényes lesz az újonnan létrehozott táblákra. A problémás sorok importálásához xlsx táblázatból újra létre kell hozni már ily módon a táblát, ezúttal DYNAMIC-ként, és menni fog.
CREATE TABLE table (`mezonev` MEZOTIPUS) ENGINE=InnoDB ROW_FORMAT=DYNAMIC....;
-
Dilikutya
félisten
1118: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
Ezzel mit lehet kezdeni, ha a hibaüzenetben javasolt megoldások nem segítenek? Alapból csak TEXT és TINYINT van, de utóbbi mezőkben valóban csak szám van. A TEXT mezők hosszabb, pár száz, olykor ezer karakter körüli szövegeket tartalmaznak.
-
Dilikutya
félisten
válasz
martonx
#3420
üzenetére
Mert nem vagyok annyira otthon az SQL-ben, de ez most nem is lényeges, a lényeg, hogy a megfelelő adatok meglegyenek. És a jelen ismereteimmel az egész nem is oldható meg máshogy, csak jó sok lekérdezéssel. Hülye xlsx táblákat kell feltölteni hülye adatbázisból, amiről tudjuk mi is, hogy szar.

Még egy kérdés: AVG-nek megadható, hogy az adott mező értékeiből csak egy tartomány alapján számoljon? Pl. van a mezőben 1-7 érték, de én csak az 1-5 közötti értékek átlagát kérdezném le.
-
Dilikutya
félisten
Van benne logika, mert minden sor ugyanazzal kérdez le, csak mind másik mezőből:
SELECT akármi(mezőnév1) FROM tábla WHERE `mezőnév1` = X;
SELECT akármi(mezőnév2) FROM tábla WHERE `mezőnév2` = X;
SELECT akármi(mezőnév3) FROM tábla WHERE `mezőnév3` = X;
SELECT akármi(mezőnév4) FROM tábla WHERE `mezőnév4` = X;Kód alatt valami C++/C# kódra gondolsz, vagy megoldható SQL-ből is?
-
Dilikutya
félisten
válasz
martonx
#3412
üzenetére
Köszi!
De a lényeg a folytatásban van.
SELECT akármi(mezőnév) FROM tábla WHERE `mezőnév` = X;
A lekérdezés fele beírva a megfelelő helyre, viszont máshova kell ugyanez, kibővítve úgy, hogy mezőnév -ből csak bizonyos adattartomány szerinti adatok kellenek. Erre van valami általános hivatkozás, ami a lekérdezésben egyszer már szereplő mezőnevet behelyettesíti, vagy kézzel kell beírni?
A lekérdezések ennél bonyolultabbak, de ez a lényeges része most nekem, a többi csak AND, OR, könnyen és gyorsan lehet azzal a résszel dolgozni, ez viszont minden sorban más és más lesz. És nagyon sok sor van.
-
Dilikutya
félisten
válasz
martonx
#3410
üzenetére
Nincs mögötte az adatbázis még.

Másik kérdés. Sok lekérdezés, de mind ugyanaz, csak más mezőből kéri le az értékeket ugyanazon feltétel szerint. Hogy lehet ezt a legjobban automatizálni? Illetve a lekérdezett mezőből bizonyos értékeket ki kell zárni (vagy csak bizonyos tartományt belevenni), és mivel ez ugyanaz a mező, ahonnan eleve lekérdezek, hogy lehetne elkerülni, hogy még a WHERE után minden lekérdezésbe is bele kelljen írni?
-
Dilikutya
félisten
Hello!
Egy mezőben van 3 érték. Ebből kettőt egyben használnék szűrési feltételnek, akkor a
`adat` BETWEEN 1 AND 2és
`adat` = 1 OR `adat` = 2egyenértékű ebben az esetben?
Új hozzászólás Aktív témák
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS ROG GL10DH brand számítógép - R7 3700X 32GB DDR4 512GB SSD RTX 2060S 8GB 500W W11
- BESZÁMÍTÁS! Asus VG27AQL3A 27 180Hz IPS QHD 1ms monitor garanciával hibátlan működéssel
- Xiaomi 15 / 12/256GB / Kártyafüggetlen / 12Hó Garancia
- HP 14 Elitebook 640 G10 FHD IPS i5-1345U vPro 10mag 16GB 512GB SSD Intel Iris XE Win11 Pro Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


