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 16:33 | Zajímavý projekt

    Open Printer je otevřená kompaktní tiskárna od Open Tools. Brzy by měla být spuštěna kampaň na její podporu na Crowd Supply. Současně by měly být uvolněny zdrojové kódy. Postavena je na Raspberry Pi Zero W a STM32. Používá inkoustové kazety HP 302.

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

    Byla vydána nová verze 3.28.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 8 zranitelností.

    Ladislav Hagara | Komentářů: 0
    4.7. 23:33 | IT novinky

    Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.

    Ladislav Hagara | Komentářů: 8
    3.7. 03:55 | Nová verze

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 5
    3.7. 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

    Ladislav Hagara | Komentářů: 0
    3.7. 01:22 | Nová verze

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    3.7. 00:11 | IT novinky

    Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.

    Ladislav Hagara | Komentářů: 7
    2.7. 16:55 | Nová verze

    Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    2.7. 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 17
    2.7. 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2063 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Postgresql, Oracle, MSSQL -> mysql: bool sloupec

    27.12.2010 19:42 koqror
    Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    Přečteno: 709×
    Ahoj. Importuju data z různých databází do mysql. Samozřejmě to nedělám přímo já, ale napsal jsem si skript v php. Problémem může být to, že mysql ukládá bool jako tinyint(1), zato třeba postgresql má bool a vrací podle manuálu t nebo f při selectu. Takže pak to dopadá tak, že do mysql vkládám do sloupce tinyint text 't' nebo 'f'. Otázka zní: jak mám na straně mysql překládat f a t do 1 nebo 0? Mysql zvládá TRUE nebo FALSE jako 1 a 0, ale t a f neví co je.

    Odpovědi

    27.12.2010 20:43 koqror
    Rozbalit Rozbalit vše Re: Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    Tak jsem si myslel že bych udělal v mysql trigger
    DELIMITER $$
    
    CREATE TRIGGER tr_tabulka_update BEFORE UPDATE ON tabulka
    FOR EACH ROW BEGIN
    	IF (NEW.enabled = 1 OR NEW.enabled LIKE 'true' OR NEW.enabled LIKE 't') THEN
    		SET NEW.enabled = 1;
    	ELSE
    		SET NEW.enabled = 0;
    	END IF;
    END;$$
    
    DELIMITER ;
    
    ale nefunguje a píše warning, takže se zdá že mysql kontroluje hodnotu "enabled" ještě před spuštěním triggeru a do triggeru už se dostane nějak ořezaná...
    okbob avatar 27.12.2010 20:52 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    A co to z PostgreSQL rovnou číst jako integer?
    postgres=# select true::int, false::int;
     int4 | int4 
    ------+------
        1 |    0
    (1 row)
    
    Případně, pokud máte starší verzi pg
    postgres=# CREATE OR REPLACE FUNCTION to_int(boolean) RETURNS int AS $$ SELECT CASE WHEN $1 THEN 1 ELSE 0 END $$ LANGUAGE sql;
    
    postgres=# SELECT to_int(true), to_int(false);
     to_int | to_int 
    --------+--------
          1 |      0
    (1 row)
    
    27.12.2010 21:26 koqror
    Rozbalit Rozbalit vše Re: Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    To je ale zase postgresql specifické a nebude to fungovat pro ostatní RDBMS. Nemám sice ještě odzkoušené ostatní RDBMS, ale předpokládám, že ty budou vracet t, f, true, false, 1 nebo 0 pro bool. Možná bude nejjednodušší použít pro bool v mysql char(1) + trigger který zajistí hodnotu vždy 1 nebo 0.
    27.12.2010 23:02 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    Nebo:
    $value = mysqli_real_escape_string($value); 
    $sql="…mysql_bool_field = CASE '$value' WHEN '0' THEN 0 WHEN 'f' THEN 0 ELSE 1 END…"
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    28.12.2010 00:03 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    urob si export view v kazdej db do datovych typov v mysql
    okbob avatar 28.12.2010 06:35 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    SELECT CASE WHEN sloupec THEN 1 ELSE 0 END, ... 
    To je naprosto podle standardu.
    27.12.2010 22:40 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    Možná nerozumím otázce, ale:
    MySQL má bool jak tinyint(1) (což jste i napsal) a hodnotu 0 považuje za false a cokoliv jiného za true (dobrým zvykem je vkládat jedničku, pokud tedy typ bool používáte).
    Protože pg_XXX vrací v případě boolean typu 't' a 'f' a ne PHP true a false, musíte s touto skutečností pracovat a to buď na úrovni PHP po select-u (což bych udělal já), nebo při vkládání do MySQL (něco jako "`bool_field`=CASE WHEN '$value'='f' THEN 0 ELSE 1 END CASE").
    Když se na to podíváte z pohledu toho, že máte různé vstupy JDETE pře PHP a pak máte jednotný výstup, tak Vás může napadnout to, že mezivrstva, která to propojuje je PHP, tudíž bych vše převedl na PHP typy (ne nutně na PHP zákládní typy a klidně na nějaký objek) kde by, v těchto případech, vkládání hodnoty prošlo dle vstupu (PostgreSQL) závislou transformací. No a výstup do MySQL už je pak jednotný, je to transformace z PHP typů do MySQL - vždy stejná.
    Na rozhraní čtení můžete mít kontroly co čtete a když se narazí na nějaký neznámý typ, tak se to přeruší a bude třeba zasáhnout a doplnit informaci jeli to třeba na vstupu transformovat.
    PS: bacha na to, že 64bit integer (bigint) je vracen jako string a na reálné číslo (PHP float) jej nemůžete bezpečně konvertovat.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.