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 01:00 | IT novinky

Bylo vydáno RFC 8484 řešící posílání DNS dotazů a získávání DNS odpovědí přes protokol HTTPS (DoH, DNS over HTTPS). V aktuálních verzích Firefoxu je DoH ve výchozím nastavení zakázáno. Povolit jej lze v about:config změnou hodnoty network.trr.mode (Trusted Recursive Resolver). V srpnu zveřejnila Mozilla výsledky experimentu s DNS přes HTTPS ve Firefoxu Nightly.

Ladislav Hagara | Komentářů: 0
19.10. 13:00 | Komunita

Při prvním spuštění Ubuntu 18.04 LTS (Bionic Beaver) je spuštěn nástroj Ubuntu Report. Pokud uživatel souhlasí, jsou pomocí tohoto nástroje odeslány do Canonicalu informace o daném počítači (doba instalace, počet procesorů, rozlišení displeje, velikost paměti, časová zóna, ...). V červnu byly zveřejněny první statistiky. Podrobnější statistiky jsou nově k dispozici na samostatné stránce.

Ladislav Hagara | Komentářů: 11
19.10. 01:00 | Pozvánky

O víkendu probíhá v Košicích pravidelné setkání příznivců otevřených technologií OSS Víkend. Na programu je řada zajímavých přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
19.10. 00:11 | Nová verze

Byla vydána nová verze 1.3 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Vylepšena byla například detekce, zda se jedná o řeč nebo o hudbu. Přidána byla podpora prostorového zvuku (immersive audio) dle plánovaného RFC 8486. Podrobnosti a zvukové ukázky na demo stránce.

Ladislav Hagara | Komentářů: 0
18.10. 22:33 | Nová verze

Bylo vydáno Ubuntu 18.10 s kódovým názvem Cosmic Cuttlefish (Kosmická sépie). Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 2
18.10. 18:33 | Nová verze

Byl vydán PostgreSQL ve verzi 11.0. Přehled novinek v poznámkách k vydání.

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

Nadace Raspberry Pi představila na svém blogu Raspberry Pi TV HAT, tj. rozšíření jednodeskového počítače Raspberry Pi umožňující příjem televizního vysílání DVB-T a DVB-T2. Cena rozšíření je 21,50 $.

Ladislav Hagara | Komentářů: 8
18.10. 17:07 | Nová verze

Vychází OpenBSD 6.4. Z řady novinek namátkou: podpora dalších architektur (arm64 např. dostal z Linuxu vypůjčený ovladač radeondrm), hypervizor vmm podporuje i qcow2 disky a šablony, jádro dokáže automaticky přepínat mezi dostupnými bezdrátovými sítěmi, sítě pracují o něco efektivněji, z bezpečnosti „přísaha byla doplněna odhalením“ (pledge(2) lze vhodně doplnit pomocí unveil(2)), SMT je ve výchozím stavu vypnutý, ale lze jej zapnout. Syntaxe nastaveni OpenSMTPD se změnila. S vydáním vychází také nová verze LibreSSL - 2.8.2.

Daniel Čižinský | Komentářů: 5
17.10. 23:15 | IT novinky

Firma Raptor Computing Systems, která stojí také za pracovní stanicí Talos II, představila levnější desku Blackbird s podporou jednoho 4-/8jádrového CPU POWER9 Sforza a formátem microATX; bližší specifikace jsou ve wiki výrobce.

Fluttershy, yay! | Komentářů: 30
17.10. 22:11 | Zajímavý projekt

Byla vydána verze 1.0 svobodné federalizované platformy pro sledování a sdílení videí, alternativy YouTube s podporou P2P, PeerTube (Wikipedie). Za vývojem PeerTube stojí nezisková organizace Framasoft snažící se mimo jiné nahradit svými svobodnými Frama službami služby společnosti Google (De-google-ify Internet).

Ladislav Hagara | Komentářů: 1
Přispíváte osobně k vývoji svobodného softwaru?
 (39%)
 (43%)
 (25%)
 (22%)
 (11%)
 (36%)
Celkem 267 hlasů
 Komentářů: 13, poslední včera 16:39
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: 1646×
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: 11
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: 68
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: 68
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: 28
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.