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 04:55 | Nová verze

    Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:44 | Komunita

    V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.

    lkocman | Komentářů: 2
    9.8. 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    9.8. 15:55 | Zajímavý software

    WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.

    Indiánský lotr | Komentářů: 0
    8.8. 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 8
    8.8. 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 1
    8.8. 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 8
    8.8. 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 2
    8.8. 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 10
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (46%)
     (20%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 321 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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: 1767×
    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.