abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 02:00 | Nová verze

Byla vydána stabilní verze 2.0 linuxové distribuce Lakka, jež umožňuje transformovat podporované počítače v herní konzole. Lakka 2.0 obsahuje například LibreELEC 8.0 nebo RetroArch 1.5.0.

Ladislav Hagara | Komentářů: 0
včera 23:44 | Pozvánky

24. 5. 2017 od 9:00 proběhne v Brně na Fakultě informatiky MU (Botanická 68a) v místnosti D2 jednodenní konference Industry Cocktail (Facebook), na které máš šanci nahlédnout do způsobů využití nových technologií v aktuálních projektech z různých průmyslových odvětví. To, že složité problémy se neřeší jen v laboratořích a způsoby, jakými se s nimi vypořádat v praxi, rozeberou přednášející z jednotlivých firem.

mjedlick | Komentářů: 0
včera 23:33 | Nová verze

Byla vydána verze 0.69 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešen je také bezpečnostní problém ve verzi pro Windows.

Ladislav Hagara | Komentářů: 0
28.4. 13:11 | Nová verze

Po téměř dvou letech byla vydána nová verze 4.0 linuxové distribuce Audiophile Linux (též AP-Linux-V4). Tato distribuce vychází z Arch Linuxu, používá systemd, správce oken Fluxbox a vlastní real-time jádro pro nižší latence. Z novinek můžeme jmenovat podporu nových procesorů Intel Skylake a Kaby Lake nebo možnost instalace vedle jiných OS na stejný disk. Pokud se zajímáte o přehrávání hudby v Linuxu, doporučuji návštěvu webu této

… více »
Blaazen | Komentářů: 7
27.4. 18:55 | Nová verze

Byla vydána nová stabilní verze 1.9 (1.9.818.44) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují podporu nového vyhledávače Ecosia. Ten z příjmů z reklam podporuje výsadbu stromů po celém světě (YouTube). Nově lze přeskupovat ikonky rozšíření nebo řadit poznámky. Nejnovější Vivaldi je postaveno na Chromiu 58.0.3029.82.

Ladislav Hagara | Komentářů: 20
27.4. 17:00 | Nová verze

Byla vydána verze 3.7.0 svobodného systému pro správu obsahu (CMS) Joomla!. V oznámení o vydání (YouTube) se píše o 700 vylepšeních. Opraveno bylo také 8 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
27.4. 08:22 | Komunita

Grsecurity (Wikipedie) je sada bezpečnostních patchů pro linuxové jádro (porovnání se SELinuxem, AppArmorem a KSPP). Od září 2015 nejsou stabilní verze těchto patchů volně k dispozici. Dle včerejšího oznámení (FAQ) nejsou s okamžitou platností volně k dispozici už ani jejich testovací verze.

Ladislav Hagara | Komentářů: 80
26.4. 23:33 | Komunita

OpenBSD 6.1 vyšlo již 11. dubna. Po dvou týdnech byla vydána i oficiální píseň. Její název je Winter of 95 a k dispozici je ve formátech MP3 a OGG.

Ladislav Hagara | Komentářů: 0
26.4. 18:55 | Nová verze

Byla vydána verze 2017.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux. S vydáním verze 2016.1 se Kali Linux stal průběžně aktualizovanou distribucí. Aktualizovat jej lze pomocí příkazů "apt update; apt dist-upgrade; reboot".

Ladislav Hagara | Komentářů: 0
26.4. 18:22 | Nová verze

Po téměř pěti letech od vydání verze 2.00 byla vydána nová stabilní verze 2.02 systémového zavaděče GNU GRUB (GRand Unified Bootloader). Přehled novinek v souboru NEWS.

Ladislav Hagara | Komentářů: 28
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (35%)
 (1%)
 (6%)
 (45%)
 (9%)
Celkem 347 hlasů
 Komentářů: 50, poslední 27.4. 04:06
    Rozcestník

    Dotaz: mysql dotaz

    19.10.2012 01:07 abc123
    mysql dotaz
    Přečteno: 240×
    Ahoj, potřeboval bych poradit, jak vyřešit v mysql tento problém: mám tabulku s produkty jménem produkty, kde jsou sloupce produkt_id a vyrobce_id a potřeboval bych smazat všechny produkty vyrobce_id=3, ovšem nejen v tabulce produkty, ale i v dalších 5 tabulkách, kde ovšem je pouze sloupec produkt_id, ale už ne vyrobce_id. Děkuji

    Odpovědi

    rou7 avatar 19.10.2012 07:50 rou7 | skóre: 12 | Kutná Hora
    Rozbalit Rozbalit vše Re: mysql dotaz
    Pokud to budeš dělat přímo v MySQL tak bych použil Trigger After Delete.
    CREATE TRIGGER 'mazani'
      AFTER DELETE ON produkty     
      FOR EACH ROW     
     BEGIN
      DELETE FROM 'dalsi tabulka' where produkt_id = OLD.produkt_id;
      ...
    END
    
    Možná tak nějak. Možná by to šlo i pře JOIN?
    Tarmaq avatar 19.10.2012 11:04 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: mysql dotaz
    Tohle je jedna moznost, druha by byla mit u tech cizich klicu na na tabulku produkt uvedeno ON DELETE CASCADE. Zrejme taky bude existovat uz nejaka tabulka vyrobci, tak by se melo mazat tam a o smazani vsech zavislych zaznamu by se postarala kaskada..
    Don't panic!
    19.10.2012 15:09 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    Sice existuje tabulka vyrobci, ale tam jsou údaje o výrobci. Jediná tabulka, která obsahuje mimo jiné vztah mezi product_id a vyrobce_id je právě tabulka produkty a já potřebuju smazat ze všech tabulek všechny produkty, které patří jednomu výrobci.
    Tarmaq avatar 19.10.2012 15:40 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: mysql dotaz
    a toho daneho vyrobce nechcete mazat? Ten tam zustane?
    Don't panic!
    19.10.2012 15:58 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    Přesně tak, daného výrobce mazat nechci, ani jeho další záznamy.
    19.10.2012 15:35 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    Omluvte amatéra, ale mohl bych poprosit o malé rozvedení? Děkuji
    Tarmaq avatar 19.10.2012 15:42 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: mysql dotaz
    je to after delete trigger, ktery se spusti v okamzik, pokud dojde k deletu z tabulky produkty. Hodnota OLD.produkt_id obsahuje id smazaneho produktu, takze lze napsat za sebe pet deletu z tech tabulek zavislych na tabulce produkty podle smazaneho id produktu.
    Don't panic!
    Tarmaq avatar 19.10.2012 16:59 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: mysql dotaz
    Ted mi doslo, ze pokud je takovyto trigger potreba, znaci to ze na "dalsich tabulkach" chybi cizi klic do tabulky produkty. ON DELETE CASCADE je tedy stale nejcistsi, nejstrucnejsi, blablabla
    Don't panic!
    19.10.2012 17:21 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    A jako to tedy konkrétně udělám?
    19.10.2012 15:41 kuka
    Rozbalit Rozbalit vše Re: mysql dotaz
    napr.
    delete from t1 
      where produkt_id in ( select produkt_id from produkty where vyrobce_id = 3 )
    
    reseni s triggery nebo kaskadami ma problem v tom, ze se to smaze vzdy bez ohledu na to, jestli jde o ten scenar "vsechny produkty" nebo jiny - to musis sam vedet, jestli by to vadilo nebo ne
    19.10.2012 16:11 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    Právě že tohle tvé řešení mi přijde nejlepší, jelikož nemůžu 100% zajistit, aby nedošlo k smazani z tabulky produkty, což by byl problém při řešení s triggery, pokud jsem je dobře pochopil.
    19.10.2012 16:36 kuka
    Rozbalit Rozbalit vše Re: mysql dotaz
    Trigger proste v ramci smazani radku provede jeste dalsi akci a to bez ohledu na to, jestli mazes jeden radek nebo vsechny za vyrobce nebo uplne vsechny. Jestli to je ve tve aplikaci problem muzes rict pouze sam. Osobne jsem odpurcem umistovani logiky do triggeru, smysluplne pripady se ale samozrejme obcas najdou.
    Tarmaq avatar 19.10.2012 16:56 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: mysql dotaz
    No vidis, a ja jsem zase odpurcem reseni debordelizace mimo db, pokud to ta db umoznuje. Prijde mi ze ti porad unika, ze je jedno jestli se mazou vsechny produkty daneho vyrobce, nebo jen jeden, porad prece je v tech ostatnich peti tabulkach jen vazba na ten produkt, cili pokud je ten produkt smazan, maji byt smazany i ty dalsi relevantni zaznamy..
    Don't panic!
    19.10.2012 16:19 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    Jeětě se zeptám, lze nějak napsat, aby delete from t1 byl i z např. tabulky t2 a t3 najednou? A aby ten select produkt_id from produkty where vyrobce_id = 3 byl i pro vyrobce_id = 5 a vyrobce_id = 10? Děkuji
    19.10.2012 16:52 kuka
    Rozbalit Rozbalit vše Re: mysql dotaz
    Co to znamena najednou? Pokud to bude jedna transakce, tak se to udela "najednou". Delete muze byt jen z jedne tabulky. Pochopitelne ze select udelat lze - napr. in (3, 5, 10). Zacni ale asi nejakym tutorialem k SQL, jinak to nedopadne dobre.
    Tarmaq avatar 19.10.2012 16:54 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: mysql dotaz
    Mohl bys trochu rozvest ten "jiny scenar"? Nejak me ted nenapada, co jsi tim myslel..

    Prece kdyz mazu produkt s cislem 42 a v dalsich peti tabulkach mam nejakej rozsirujici informace toho produktu, tak ty chci smazat taky.
    Don't panic!
    19.10.2012 17:06 kuka
    Rozbalit Rozbalit vše Re: mysql dotaz
    Ja? Nemam tuseni, co ma tazatel v tech peti tabulkach a uz vubec ne, jestli to chce smazat a kdy. Ja jsem jen upozornil na to, ze navrhovana reseni neadresuji presne ten jeho dotaz. Proste na co se ptal, na to jsem mu odpovedel:-) Pokud by to cele melo slouzit k udrzovani referencni integrity, tak by tam mela byt kaskada (jestli ji MySQL umi) a nebylo by co resit.
    19.10.2012 17:28 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    Nejde o všech 5 tabulek, u 4 použít trigger i cascade nejspíše lze, ale u jedné z těch tabulek potřebuji vymazat pouze některé výrobce, některé ne a dokonce jenom někdy, né vždy stejné výrobce. Jedná se o tabulku obrázky s obrázek_id a produkt_id, kde je to jediné místo, kde je uložen tento vztah, který potřebuji pro identifikaci těch obrázků, jelikož se ten obrázek nejmenuje produkt_id.jpg ale blabla.jpg
    19.10.2012 19:04 abc123
    Rozbalit Rozbalit vše Re: mysql dotaz
    Každopádně všem děkuji za rady a nastínění řešení, zbytek dogooglím a tímto považujte dotaz za vyřešený. Ještě jednou děkuji.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.