Adatbázis: SQL, XML DB

SQL lekérdezás több sorána felsorolása egyetlen sorban

 ( morfyum | 2019. április 15., hétfő - 19:36 )

Üdv! Sajnos hiába googlézek magyarul/Angolul nem találtam működő megoldást a kérdésemre.
Egy összetettebb több táblás lekérdezést építgetek, de sajnos az utolsó komponensnél(táblánál) rájöttem, hogy nem tudom hogyan kell megfogalmazni SQL-ben, amit szeretnék tőle.
A kérdésemet egy egyszerű egy-táblás lekérdezés formájában teszem fel, a konkrét problémát mutatva, a több táblás változatát én akarom befejezni. :p

Couchbase fagyás, adatvesztés

 ( airween | 2019. április 14., vasárnap - 9:59 )

Sziasztok,

adott két Debian-t futtató HW, mindkét vason fut 2xN vm, ezek a PROD és a TEST rendszerek.

A produktív és a teszt rendszerek clusterbe vannak szervezve, ahol szükséges (Corosync), van, ahol az alkalmazás megoldja, pl Couchbase.

A Couchbase-t egy Wildfly alkalmazás hívogatja.

Megszokott 20+ éves küzdelem UTF8 kódolás

 ( Carter | 2019. április 4., csütörtök - 14:22 )

Helló!

Valakinek egysoros magyarázata fogja megoldani, szinte biztos vagyok benne.

Tárhelyről költöztem másik tárhelyre.
Webhosticon -> rackforest

Régi tárhelyen az SQL-ből exportáltam, mindent default. Új helyen import, minden default. [phpmyadminból phpmyadminba]
INNODB, utf8_hungarian_ci mindkét helyen, ránézésre minden egyezik.

Az áttöltött fájlokban lévő utf karakterek megjelenítése jó, csakis amit az sql-ből húz be, ott jönnek a ? karakterek. Minden nagyon szépen működik, tényleg egyedül az utf8 karakterek nem jók.

Mit ronthattam el?

MS Access lekérdezés sorainak sorszámozása

 ( eleinor | 2019. április 1., hétfő - 11:33 )

Olyan megoldás kellene nekem, amivel MS Access 2016-ban, az MS SQL-ben lévő row_number()-hez hasonlóan, egy lekérdezés eredménysorait sorszámozza be. Sajnos nincs olyan oszlop, ahol növekvő sorrendben van valamilyen adat, ezt kihasználni nem lehet. Egy kis részlet a lekérdezés eredményéből:

az helyaz javdatum
515 1 2001.07.05.
110 1 2002.01.10.
209 2 2001.08.30.
390 2 2002.01.11.
520 3 2001.05.09.
572 3 2001.05.11.
377 3 2001.06.25.
102 3 2001.08.13.
472 3 2001.09.14.
345 4 2001.01.17.

MS Access mdb adatbázis szerkesztése több felhasználóval online

 ( john_silver | 2019. március 28., csütörtök - 11:02 )

Van egy program amit szeretnénk lefordítani, ehhez a leírás alapján a programmal elkészítettem az adatbázis fájlt (MS Access mdb), ebben az egyik oszlopban van az eredeti szöveg a másik oszlopba kell beírni a fordítást, ha kész be kell importálni a programba.

Mivel nem egyszemélyes munka lesz (kb. 4500 sor, sok szaknyelvi mondattal) arra gondoltam, hogy az mdb fájlt valamilyen online felületen megosztom és így direktben tudná mindenki szerkeszteni, javítani, lektorálni az idejétől függően.
Próbáltam keresni, de nem igazán találtam megoldást.

kezdő - xml format

 ( Nextra | 2019. március 23., szombat - 0:12 )

Adott egy letöltött xml fájl, de szerkesztőben megnyitva, csak egy katyvaszt látok. Nincs betördelve, és áttekinthetetlen az egész.
Van erre valami megoldás? A json detto. Ez amúgy egy időjárás xml vagy json, de ahhoz hogy kezelni tudjam, áttekinthetőnek is kellene lennie, legalábbis addig amíg a feldolgozó szkriptet megírom. Esetleg valami online cucc?

Letezik-e ilyen db engine?

 ( dszakal | 2019. február 23., szombat - 18:53 )

Keresek egy olyan db engine-t, ami:

-SQL/SQL-szeru nyelvvel query-zheto
-Tudja a relacios adatbazisok common feature setjet, kiveve:
--Primary key csak egyetlen oszlop lehet es az is az autoincrement/serial bigint
--Foreign key nem lehet primary key-ben
--es ugye ennek megfeleloen elindult az optimalizalasa ezen megszoritasok menten, ahogy azt nem (teljesen) relacios adatbazisoknal (leanykori neven NoSQL) mar megszokhattuk.

phpMyAdminban automatizált lépéssor

 ( szz | 2019. február 13., szerda - 12:04 )

Van arra lehetőség, hogy (egy tárhelyszolgáltatóhoz tartozó) cPanelben vagy phpMyAdminban automatizáljunk egy olyan lépéssort, ami az egyik adatbázis tábláit átmásolja egy másikba? Egyelőre ezt a lépéssort végzem (s ha ez automatizálható/gyorsítható, az is jó). A fájllal matatás a legbénább része, azt lenne jó elkerülni "házon belüli" megoldással:
- phpMyAdmin-ban db1 adatbázisra kattint, Exportálás
- [indítás] + fájl mentése
- db2 adatbázisra kattint
- Szerkezet fülön minden táblát kijelöl (alul), Művelet minddel: Eldobás

[MEGOLDVA] sqlite like és index

 ( zolti | 2018. november 27., kedd - 21:48 )

A problémám a következő:
A sqlite like nem használja az indexet, ha számmal kezdődik a string.

teszt:
[code]
DROP TABLE IF EXISTS partners;
CREATE TABLE partners (id INTEGER PRIMARY KEY NOT NULL , name TEXT NOT NULL );
INSERT INTO partners VALUES(1,'1 Próba');
INSERT INTO partners VALUES(2,'2 Próba');
INSERT INTO partners VALUES(3,'3 Próba');
CREATE INDEX hex_name_index ON partners ( hex(name) COLLATE NOCASE );

EXPLAIN QUERY PLAN SELECT name FROM partners WHERE hex(name) LIKE 'Foo%' ;

Táblázatos kérdés

 ( Smokey2k | 2018. november 27., kedd - 0:52 )

Hello!
Eléggé idegen fogalom számomra a táblázat kezelés, szóval belefutottam egy olyan problémába ami kifog rajtam egyelőre, gondoltam írok ide hátha valaki tud rá megoldást.

Egy nagyon nem hatékony SQL query (PostgreSQL)

 ( csfeco | 2018. október 30., kedd - 17:35 )

Sziasztok.
Úgy tűnik nem vagyunk barátok az SQL-lel. Csináltam egy lekérdezést, a végeredmény ugyan jó, de elképesztően nem hatékony :

WITH pl AS (SELECT * FROM phs_links WHERE phs_link_type2 = 'Front' AND port_id2 = ?)
SELECT pll.*, plr.*, ppr.*
FROM pl AS pll
JOIN interfaces AS il ON pll.port_id1 = il.port_id
JOIN mactab AS m ON il.hwaddress = m.hwaddress
JOIN phs_links AS plr ON m.port_id = plr.port_id1
JOIN pports AS ppr ON plr.port_id2 = ppr.port_id
WHERE min_shared(plr.port_shared, ?::portshare) <> 'NC'::portshare

MySQL: ne dump-olja az in-memory táblákat

 ( log69 | 2018. szeptember 10., hétfő - 18:38 )

Sziasztok,

MySQL-ben lehet létrehozni in-memory táblákat, melyek tartalma elvész mysql server újraindítása után. Pont ez kellene.

Viszont mysqldump kinyomja az in-memory táblák tartalmát is.

Hogyan tudnék olyan mysqldump parancsot írni, amely nem dump-olja ki a memory engine-es táblák tartalmát vajon?

Köszi.

Adatbázis kódolás megváltoztatása

 ( tr1719 | 2018. augusztus 29., szerda - 12:09 )

Üdv!

Egy nagyon régi problémámhoz hasonló jött most elő, és sajnos ehhez egyáltalán nem értek.

Adott egy python + django applikáció, ami mögött egy mysql szerver található. Az adatbázisban semmilyen kódolás nem lett beállítva, default szinte teljesen.

Az őűŐŰ karakterek helyett mindenhol kérdőjelek jelennek meg, és ezt szeretném orvosolni.

Nagyjából 4- 5 tábláról van szó, de ha az adatbázis egészére meg lehet oldani, az még jobb.

Amit eddig próbáltam:

MySQL NOT DETERMINISTIC function error

 ( Luckye | 2018. augusztus 22., szerda - 15:39 )

Sziasztok!

Küzdök egy problémával, felteszem itt is, hátha tudtok segíteni.
A feladat, hogy egy megrendeléshez az ügyfél könnyen megjegyezhető, de egyedi megrendelésazonosítót kapjon. Ehhez MySQL-t használnék, mert hogy az van. Viszont nem értek hozzá.

Amit elkövettem (és lokálisan, USB WEB Server-el működik is) az a következő SQL script:

CREATE TABLE IF NOT EXISTS `orders` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci AUTO_INCREMENT=1 ;

DELIMITER $$

mysql kezdő - select alap kérdés

 ( zumy | 2018. július 31., kedd - 11:13 )

Üdv;

-nagyon béna vagyok ehhez :(
-adott 3 tábla: dolgozo, dolgozo_szla, szamfejtes; dolgozoban: Id, Nev; dolgozo_szlaban: ID, DolgozoID; a szamfejtesben: dolgozo_szlaID, fizetés;
-a dolgozo_szla kapcsolja össze a kettőt és kellene egy olyan lekérdezés, ami Név, fizetés párokat dob;
-pl. dolgozo (47, zumy) dolgozo_szla (27,47) szamfejtes (27,50000) ; ebből kellene: zumy 50000

-tudom, h ez nagyon alap, de sehogy se jön össze; ill. csak sima sql parancsok játszanak

Előre is köszönöm!

zümy

mysql root password láma

 ( plt | 2018. július 24., kedd - 12:37 )

Debian 9 alatt a mariadb root hozzáférésének a jelszavát szeretném beállítani, de sehogyan sem megy. Próbáltam a

mysqladmin -u root password ujJelszoAmitSzeretnek

paranccsal, de közvetlenül a mysql.user táblába írva is:

USE mysql;
UPDATE user SET password=PASSWORD('ujJelszoAmitSzeretnek') WHERE User='root' AND Host = 'localhost';
FLUSH PRIVILEGES;

Mindkét parancs ugyanúgy változtatja a mysql.user táblát, tehát olyan, mintha megtörténne a beállítás, ám mégsem.

mariadb 10.2 vs. 10.3 explain wtf?

 ( sj | 2018. július 16., hétfő - 21:19 )

Van egy ilyesmi tablam:

MariaDB [clapf]> show create table token;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Sok zip file (150G) tárolása ha lehet verziózva

 ( GergA84 | 2018. július 10., kedd - 8:01 )

Sziasztok,

A helyzetet a következő:
Van kb 150Gb teszt input data amit a nightly CI futás használ.
Zip fájlok, bennük képek és számítási kalkulációk.
A zip fájlok átlagos mérete 80-100Mb között mozog.
Évente kb 50 Gb-tal fog növekedni a szükséges hely a beérkező új .zip-ek miatt.
Jelenleg Windows File Share-n vannak.
Naponta kb 2x van "kiolvasás" tehát cca 300Gb network transfert indukálunk/nap

Keresek:
Egy olyan megoldást amiben ha lehet verzóizva tudom tárolni a zip fájlokat (ha szüksége lenne rá)

[XML] Hibás séma definíció fixálása

 ( pityulaman1983 | 2018. június 28., csütörtök - 14:08 )

Sziasztok!

A címben említett problémával küzdök és valahol már volt topic itt a hupon.
A Microsoft publikált egy XSD-t MSDN-en (url az xsd-hez a poszt alján), ami már eredetileg is hemzsegett a szintaktikai hibáktól. Ezek nagy részét már javították a visszajelzéseim alapján (mondjuk tegnap még találtam benne véletlenül egy "Serizlizable" kifejezést), viszont néhány XML-t még mindig nem tudok deserializálni az xsd-ből generált C# class segítségével.

SELECT alapértelmezett sorrendje állandó?

 ( plt | 2018. június 26., kedd - 8:42 )

Ha egy SQL SELECT-ben megadom az ORDER BY zéradékot, akkor az eredmény sorrendje egyértelmű. Ha nem, akkor véletlenszerű. De:
Ha nem adtam meg az ORDER BY záradékot, akkor ez a véletlenszerű sorrend fix, azaz többször lefuttatva ugyanazt a sorrendet tartja?
Egyrészt azt várnám, hogy nem, mivel véletlenszerű lehet.
Másrészt azt várnám, hogy igen, mivel a végén lehet LIMIT, és ettől elvárom, hogy több darabban kérhessem le. Mellesleg úgy tűnik a PhpMyAdmin is ez utóbbi értelmezéssel használja.

[megoldva] Postgresql, quote_literal, pg_escape_literal, like

 ( szz | 2018. június 19., kedd - 9:42 )

Lehet valahogy ötvözni PostgreSQL-ben a felhasználói input levédését és a like '%...%' kulcsszót?
Ezt ugyan szintaktikailag elfogadja a psql, csak nem azt adja, amire számítok: select * from t1 where c1 like '%'||quote_literal('the')||'%';

Szerk; egy nulladik megoldás ez: '%'||substr(quote_literal('the'),2,char_length('the'))||'%';
Egy fokkal szebb PHP-ből az előkészítés:
$inp = pg_escape_literal('%' . mb_convert_case($mb, MB_CASE_LOWER) . '%');
$where='lower(c1) like ' . $inp;

MySql default sorrend

 ( plt | 2018. április 6., péntek - 14:19 )

Egy mysql tábla `id` és `parent_id` mezők alapján van indexelve. Az `id` az elsődleges kulcs.
Milyen sorrendben adja vissza az elemeket a WHERE `parent_id`=5 feltétel?
Az explain szerint a `parnet_id` indexet használja a találatok kigyűjtéséhez.
Azonos `parent_id` értékeken belül garantáltan az elsődleges kulcs sorrendjében kapom vissza a találatokat, vagy véletlenszerűen?
MySql-ről olvastam, hogy ha nem adok meg semmilyen indexet, akkor az elsődlegeset használja. Igaz, ezt az explain nem erősítette meg, bár cáfolni sem tudta.

mysql_upgrade utan szabad hely eltunt

 ( Vamp | 2018. március 21., szerda - 20:08 )

Sziasztok!

5.5-rol 5.7 re frissitettem egy Mysql adatbazist. A tablakat a mysql_upgrade parancsal "hozzaigazitottam" az uj verzioju szerverhez. A gond az, hogy most mintha a adatbazis "ketszer" szerepelne a rendszerben, nem 30 gigat foglal, hanem 60-at... lehetseges, hogy valahova hozott letre temp fajlokat, amiket nem takaritott ki maga utan?

Ha igen, hogy tudok toluk megszabadulni?

Mysql replikáció megállt

 ( neutrino | 2018. március 16., péntek - 16:16 )

Sziasztok,

Van egy master-slave mysql replikációm, ami kb másfél hónapig ment hiba nélkül, aztán egyszer csak leállt az SQL thread és hibát dobott:

Could not execute Write_rows event on table table.product_pictures; Duplicate entry '107947' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql-bin.000052, end_log_pos 69556

Ebben az a furcsa, hogy a bejegyzés a masteren és a slaven is szerepel ugyanolyan formában (ergo nincs mit write-olni)

MySql log warning kikapcsolása

 ( plt | 2018. március 5., hétfő - 10:39 )

Egy mysql szerver dobál rengeteg "Statement may not be safe to log in statement format." warningot az error.log fájljába, ezt szeretném kikapcsolni.
log_warnings = 0 megvolt.
binlog_format = ROW megvolt.
Mindenhol azt írják erről, hogy ez egy replikálásnál fellépő warning, de itt nincs replikálás, igaz, a binlog be van kapcsolva.
A warningban megjelenő SQL kérdés érdekessége, hogy
UPDATE table SET field = 'value' WHERE id = key LIMIT 1
típusú SQL parancsok, és nem
UPDATE table SET field = 'value' WHERE field = value2 LIMIT 1
típusúak.