abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 0
    dnes 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: SLQ dotazy jen jako

    10.10.2011 17:28 Dědek
    SLQ dotazy jen jako
    Přečteno: 477×
    Ahoj, neví někdo jak se jmenuje ta funkce které provede sql dotaz ale fyzicka data nevloží, nepřepíše, nesmaže atd.. jen vrátí jestli je všechno ok a požadovaný sql dotaz jde bez chyby vykonat.. Díky za pomoc

    Odpovědi

    Pavel Stárek avatar 10.10.2011 17:42 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Nevím tedy v jaké databázi, ale na to je asi dobré použít transakce. V MySQL třeba takto: http://dev.mysql.com/doc/refman/5.1/en/commit.html
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    10.10.2011 17:42 kuka
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    A v jakem prostredi by "ta funkce" mela byt?
    10.10.2011 17:54 Dědek
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Acho jo, omlouvám se. Jedná se o MYSQL a bylo by to voláno z PHP
    10.10.2011 18:25 Sten
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    EXPLAIN dotaz
    10.10.2011 18:45 Dědek
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Jako takto?
    $sql = EXPLAIN . "UPDATE table SET status = 999 WHERE user = 1";
    
    mysql_query($sql);
    
    Jendа avatar 11.10.2011 05:22 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    PHP Notice:  Use of undefined constant EXPLAIN - assumed 'EXPLAIN' in - on line 2
    V PHP dáváme řetězce do "", jinak může jít o konstantu.
    11.10.2011 15:21 Sten
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    $sql = "EXPLAIN UPDATE table SET status = 999 WHERE user = 1"
    $result = mysql_query($sql);
    Kromě simulace toho příkazu vám to ještě řekne, kolik dat by se změnilo, jaké klíče a jaké tabulky by se použily a vůbec jak optimální ten dotaz je.
    10.10.2011 21:24 smajl | skóre: 3
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako

    nastavit mysql aby automaticky ne-COMMITovalo transakcie -> SET autocommit=0;
    zacat transakciu -> START TRANSACTION
    spustit query (select/update/insert/...)
    zaznamenat vysledok query (netusim ci chcete validovat spravnost prikazu alebo zistovat ci dany prikaz ovplyvni XY zaznamov)
    zrusit transakciu -> ROLLBACK

    10.10.2011 22:16 kuka
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Problem je samozrejme v tom, ze tazatel nespecifikoval, co vlastne chce. Nicmene toto je hodne drsny zpusob, jak neco overovat, a to nejen z hlediska vykonu. A v principu toho moc neresi, protoze po rollbacku a overeni, ze je "vse v poradku" to znovu uz probehnout nemusi. Kazdopadne potreba overeni "ze to projde" je sama o sobe podezrela a obvykle ukazuje na nepovedeny query factoring apod.
    10.10.2011 23:12 Dědek
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    No potrebuji asi tohle...
    1 ulozim do mysql data
    2 poslu oznameni na email
    3 ulozim do mysql jina data
    4 uložim do mysql jeste jina data
    pokud s techto 4 moznosti selze je cely proces uplne k nicemu, proto jsem to chtel nejak osetrit.
    10.10.2011 23:51 kuka
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Aha. A co tedy s tim odeslanym emailem, kdyz sleze bod 4? Musis si rozmyslet vsechny scenare a pak se da bavit o technologickem reseni. Napriklad pokud mezi temi body nejsou zadne prodlevy, tak by asi bylo lepsi poslat email az na konec, stejne pravdepodobne nedojde driv, nez ty operace na databazi skonci. Ostatne doruceni mailu nejde bez akce na strane adresata nijak overit, takze je obvykle uplne jedno, kdy se odesle.
    11.10.2011 02:35 Dědek
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    To je úplně jedno kdy se odešle, stejně to nevyřeší ostatní problémy. Co když selže ukládání bod 4? Co s těma 3 předchozíma v mysql, budou k ničemu :(
    11.10.2011 10:01 kuka
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Na to se muze pouzit transakce, tzn. bud se provede vsechno, nebo nic, to databaze umi. Co nikdo neumi je vzit zpet odeslani mailu, proto zalezi na tom, kdy se v celem procesu odesle.
    11.10.2011 10:48 Ivan
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Jednoduse. Misto toho aby mail "odeslal", tak ho vlozi do fronty (fronta = tabulka v DB) a z ty fronty to asynchronne vyzvedne dalsi proces. Takhle to delaji databaze, ktere maji podporu pro SMTP.

    11.10.2011 11:07 kuka
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    No a to je to co jsem radil, odesle se to proste az na konci. Podstatne je, ze skutecne poslani mailu nejde "odrolovat". Bud s nim pockam a jen si ho poznamenam (coz neni odeslani mailu), ale pak nevim, jestli se mi nakonec povede, nebo ho udelam, povede se, ale pak uz ho nezrusim. Jesli na to pouzivam tabulku v databazi nebo neco jineho na to nema vliv.
    11.10.2011 08:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Přesně k tomuhle se používají transakce. V případě transakce přes víc prostředí pak transakce s dvoufázovým commitem.
    11.10.2011 14:25 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Jenže principiální problém je v tom, že odeslání mailu nejde verifikovat nikdy. V tom případě se mi zdá nejlepší řešení se tvářit, jako že ten mail poslat jde vždy.
    11.10.2011 15:09 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Odeslání e-mailu verifikovat jde, záleží na tom, jak nadefinujete odeslání e-mailu. A třeba definice „lokální MTA převzal e-mail do své fronty“ je pro většinu případů použitelná.
    11.10.2011 19:29 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Jenže takováto informace je naprosto k ničemu. Úplně stejně mohu tento mail převzít do fronty v databázi: zaručuje mi to naprosto stejnou šanci, že mail bude odeslán, ale zároveň neztratím výhodu jedné transakce.
    12.10.2011 08:29 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: SLQ dotazy jen jako
    Šance na odeslání z nějakého rozumného MTA bude asi přeci jen větší (databáze nebývají tak vyladěné a otestované pro odesílání e-mailů jako poštovní programy). Výhodu jedné transakce neztrácím ani při použití fronty MTA, transakce přece nemusí být čistě databázová. Fronta v databázi je samozřejmě také možné řešení, ale pro tento případ je nejspíš zbytečně složité. Tady stačí začít transakci, provést SQL příkazy, odeslat e-mail, a když se vše podaří, transakci do DB commitnout.

    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.