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 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    dnes 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 13
    dnes 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | Nasazení Linuxu

    Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.

    Ladislav Hagara | Komentářů: 1
    včera 04:55 | Nová verze

    Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 1
    včera 00:33 | Komunita

    Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.

    Ladislav Hagara | Komentářů: 32
    5.5. 23:22 | Pozvánky

    Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou

    … více »
    bkralik | Komentářů: 0
    5.5. 22:33 | IT novinky

    Dle plánu dnes končí služba Skype. Uživatelé mohou pokračovat v Microsoft Teams.

    Ladislav Hagara | Komentářů: 1
    5.5. 21:44 | IT novinky

    Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.

    Ladislav Hagara | Komentářů: 2
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 547 hlasů
     Komentářů: 24, poslední dnes 17:10
    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: 1763×
    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.