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 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

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

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

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

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 12
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 750 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Jak přidat sloupec do tabulky pokud neexistuje ?

    11.11.2016 12:11 Uranusak
    Jak přidat sloupec do tabulky pokud neexistuje ?
    Přečteno: 1742×
    Potřebuji přidat sloupec do tabulky pokud neexistuje, zkoušel jsem několik variant, ale ani jedna mi nefunguje. Např:
    IF NOT EXISTS
        (SELECT * FROM `information_schema`.`COLUMNS` WHERE `TABLE_SCHEMA` = 'databaze' AND `TABLE_NAME` = 'tabulka' AND `COLUMN_NAME` = 'pokus' )
    THEN
        ALTER TABLE `databaze`.`tabulka` ADD pokus INT(10) NOT NULL DEFAULT '0';
    END IF;
    
    Pokud zkusím SELECT nebo ALTER TABLE zvlášť, tak se příkaz provede, ale netuším jak udělat, aby se přidal pouze pokud sloupec neexistuje.

    MySQL 5.6.30-1~bpo8+1 - (Debian)

    Předem děkuji za rady.

    Odpovědi

    11.11.2016 14:27 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Jak přidat sloupec do tabulky pokud neexistuje ?
    A proč to vůbec řešit? Není lepší volat jen ALTER TABLE...? Pokud chybí tak se přidá, pokud nechybí, nic se nestane. :-)
    Josef Kufner avatar 28.12.2016 14:42 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak přidat sloupec do tabulky pokud neexistuje ?
    Ale stane. Hodí to chybu.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 28.12.2016 18:06 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak přidat sloupec do tabulky pokud neexistuje ?
    Toto bys neměl vůbec řešit. Měl bys vědět, v jakém stavu databázi máš.

    Pokud jde o aktualizace databáze při aktualizaci aplikace, tak nejlepší řešení je mít sadu SQL skriptů. Pro každou změnu jeden soubor, který na konci vloží záznam do logovací tabulky, že ten soubor byl proveden. Pro aktualizaci pak stačí jen porovnat adresář se skripty s tabulkou obsahující seznam již provedených skriptů a spustit ty dosud neprovedené. Aby to fungovalo je potřeba staré skripty neměnit a spouštět je v definovaném pořadí (např. číslovat datumem v ISO formátu). Např. https://smalldb.org/changelog.sql/.
    Hello world ! Segmentation fault (core dumped)
    Jesus Jimenez avatar 29.12.2016 02:45 Jesus Jimenez | skóre: 29
    Rozbalit Rozbalit vše Re: Jak přidat sloupec do tabulky pokud neexistuje ?
    Pouzivas to ve fci nebo procedure? Jestli ne, tak to zkus takhle:
    use databaze;
    select count(*) into @exist from information_schema.columns where table_schema='databaze' and table_name='tabulka' and column_name='pokus';
    set @query = IF(@exist <= 0, 'alter table tabulka add column pokus int(10) not null', 'select \'sloupec existuje\' as status');
    prepare statement from @query;
    execute statement;
    Samozrejme to, co pise Kufner je docela rozumny...
    Doaenův zákon průtahů: Čím pomaleji pracuješ, tím méně naděláš chyb. -- Murphy

    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.