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í
×
    včera 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 4
    včera 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 15
    včera 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

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

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    22.4. 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    22.4. 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 2
    22.4. 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    22.4. 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    KDE Plasma 6
     (72%)
     (10%)
     (2%)
     (17%)
    Celkem 697 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.