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 13:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.

    Ladislav Hagara | Komentářů: 3
    dnes 05:44 | IT novinky

    Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.

    Ladislav Hagara | Komentářů: 9
    včera 18:00 | Nová verze

    VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).

    Ladislav Hagara | Komentářů: 7
    včera 12:44 | Zajímavý software

    Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    13.8. 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 5
    13.8. 04:33 | Bezpečnostní upozornění

    Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    13.8. 04:22 | Nová verze

    Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    12.8. 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (52%)
     (19%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (17%)
    Celkem 393 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: sql delete statement , jak zjistit ktera podminka neni splnena

    29.12.2010 19:17 jk
    sql delete statement , jak zjistit ktera podminka neni splnena
    Přečteno: 395×
    mam sql prikaz

    delete from my_table where ID='12345' and TIMESTAMP='98765432'

    Jde zjistit, ktera podminka nebyla splnena:

    - ID 12345 neexistuje

    - TIMESTAMP je rozdilny

    Prostredi mysql, sqlite, pgsql C.

    Je eventuelne nutne prikaz nejak rozlozit do dvou?

    Řešení dotazu:


    Odpovědi

    29.12.2010 19:35 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: sql delete statement , jak zjistit ktera podminka neni splnena
    SELECT * FROM my_table WHERE ID='12345'
    SELECT * FROM my_table WHERE TIMESTAMP='98765432'
    
    Doporučoval bych ale nastudovat si základy SQL, bez toho nemá smysl se pokoušet vytvářet příkazy metodou pokus–omyl.

    Mimochodem, ID je obyčejně unikátní (a v databázi bývá nastavena kontrola unikátnosti), takže pak je ta druhá část podmínky zbytečná.
    29.12.2010 20:15 jk
    Rozbalit Rozbalit vše Re: sql delete statement , jak zjistit ktera podminka neni splnena
    hm, i kdyz je dotaz oznacen jako vyrizen (tedy alespon tak rozumim tomu hacku) , tak jsem nyni trochu zmaten a rad bych se proto zeptal, zda je muj vyse uvedeny sql-prikaz spravny, jestlize chci:

    z tabulky my_table smazat radku, ktera je jednoznacne identifikovana pomoci sloupce ID s hodnotou '12345' a smazani se ma provest ale pouze v tom pripade, ze hodnota sloupce TIMESTAMP je rovna '98765432'. Jestlize prikaz neni spravny , pak bych prosil o korekturu.

    Dekuji.
    29.12.2010 20:54 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: sql delete statement , jak zjistit ktera podminka neni splnena
    Ano, ten příkaz dělá to, co popisujete.
    30.12.2010 14:47 jk
    Rozbalit Rozbalit vše Re: sql delete statement , jak zjistit ktera podminka neni splnena
    ok, takze ted k tomu problemu. Uzivatel si nacetl udaje z radky a (po nejake dobe) se rozhodl ji smazat. Preda databazi tedy ID a TIMESTAMP, jak si je nacetl.

    Jestlize napr. odsadim takovy prikaz v sqlite, tak vysledek je, ze se prikaz provedl bez chyby (coz znaci , ze bylo dost pameti, jadro melo dost zdroju apod), ale jeste nevim, zda se neco smazalo ci ne. Nyni se mohu v sqlite zeptat, kolik 'zmen' nastalo 'v posledni chvili'.

    Jestlize 1 zmena, tak doslo ke smazani, kdyz 0, tak se nic nesmazalo. Ale ja v te chvili nevim, jestli se to nesmazalo, protoze ta radka uz vubec neexsitovala (mezitim ji nekdo smazal) a nebo jestli ji nekdo zmenil.

    Rad bych nyni vedel, jak se to bezne resi. Dodavaji 'lepsi' databaze udaj, zda bylo neco smazano hned a je mozno se nejak dovedet, ktera z tech WHERE klausuli byla pricinou toho 'nesmazani'?
    30.12.2010 15:03 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: sql delete statement , jak zjistit ktera podminka neni splnena
    Databáze běžně vrací počet „dotčených“ záznamů, tj. v případě mazání počet smazaných záznamů. Určitě to takhle dělá PostgreSQL a H2, předpokládám že i MySQL, Oracle a další.
    je mozno se nejak dovedet, ktera z tech WHERE klausuli byla pricinou toho 'nesmazani'
    WHERE je logická podmínka – testuje se každý záznam, pokud je podmínka vyhodnocena jako pravdivá, záznam se smaže, pokud je nepravdivá, záznam se nechá být. Pokud byste chtěl zjistit, které části podmínky nějaký konkrétní záznam nevyhovuje, musíte nejdřív nějak dokázat ten záznam jednoznačně identifikovat. K tomu by ale nejspíš sloužilo to ID, a pokud pak chcete záznam s daným ID smazat, prostě dejte do podmínky jenom to ID. Pokud jej chcete smazat jedině v případě, kdy má zároveň konkrétní TIMESTAMP, použijte tu vaši podmínku. Pokud chcete uživatele informovat, že nedošlo ke smazání, protože se mezi tím TIMETSTAMP změnil, udělejte pod smazání SELECT na dané ID – pokud něco najdete, víte, že se záznam nesmazal a že jej tedy někdo musel změnit. Všechno je to ale takové na vodě, protože se tam nepoužívá zamykání, takže může kdykoli dojít ke změně – ale předpokládám, že zamykání nechcete používat schválně.
    31.12.2010 15:24 jk
    Rozbalit Rozbalit vše Re: sql delete statement , jak zjistit ktera podminka neni splnena
    diky

    To s tim zamykanim mate pravdu, ale i to 'na vode' myslim bude dostacovat.

    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.