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

    Editor kódů Zed (Wikipedie) po macOS a Linuxu s verzí 0.208.4běží také ve Windows.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | IT novinky

    Apple dnes představil 14palcový MacBook Pro, iPad Pro a Apple Vision Pro s novým čipem M5.

    Ladislav Hagara | Komentářů: 9
    včera 13:55 | Nová verze

    Debian pro mobilní zařízení Mobian (Wikipedie) byl vydán ve verzi 13 Trixie. Nová stabilní verze je k dispozici pro PINE64 PinePhone, PinePhone Pro a PineTab, Purism Librem 5, Google Pixel 3a a 3a XL, OnePlus 6 a 6T a Xiaomi Pocophone F1.

    Ladislav Hagara | Komentářů: 1
    včera 13:11 | IT novinky

    Operátor O2 představil tarif Datamanie 1200 GB . Nový tarif přináší 1200 GB dat s neomezenou 5G rychlostí, a také možnost neomezeného volání do všech sítí za 15 Kč na den. Při roční variantě předplatného zákazníci získají po provedení jednorázové platby celou porci dat najednou a mohou je bezstarostně čerpat kdykoli během roku. Do 13. listopadu jej O2 nabízí za zvýhodněných 2 988 Kč. Při průměrné spotřebě tak 100 GB dat vychází na 249 Kč měsíčně.

    Ladislav Hagara | Komentářů: 5
    včera 12:33 | Bezpečnostní upozornění

    Byly publikovány informace o útoku na zařízení s Androidem pojmenovaném Pixnapping Attack (CVE-2025-48561). Aplikace může číst citlivá data zobrazovaná jinou aplikací. V demonstračním videu aplikace čte 2FA kódy z Google Authenticatoru.

    Ladislav Hagara | Komentářů: 1
    včera 07:11 | Zajímavý projekt

    Free Software Foundation (FSF) spustila projekt Librephone, jehož cílem je vytvoření svobodného operačního systému pro mobilní telefony. Bez binárních blobů.

    Ladislav Hagara | Komentářů: 8
    14.10. 16:44 | Nová verze

    Byla vydána verze 7 s kódovým název Gigi linuxové distribuce LMDE (Linux Mint Debian Edition). Podrobnosti v poznámkách k vydání. Linux Mint vychází z Ubuntu. LMDE je postaveno na Debianu.

    Ladislav Hagara | Komentářů: 0
    14.10. 16:33 | Nová verze

    Byl vydán Mozilla Firefox 144.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze lepší správu profilů. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 144 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    14.10. 14:55 | Bezpečnostní upozornění

    Discord potvrdil únik osobních údajů přibližně 70 000 uživatelů. Incident se týká uživatelů po celém světě, především těch, kteří v rámci ověřování svého věku nahráli do aplikace doklad totožnosti. Únik informací se netýkal systémů samotné platformy, ale došlo k němu přes kompromitovaný účet pracovníka zákaznické podpory u externího poskytovatele služeb.

    Ladislav Hagara | Komentářů: 2
    14.10. 14:44 | IT novinky

    Americká společnost OpenAI, která provozuje chatbota ChatGPT, kvůli výrobě vlastních procesorů pro umělou inteligenci (AI) spojí síly s firmou Broadcom. Firmy o tom informovaly (en) ve svém včerejším sdělení. OpenAI se snaží zajistit si výpočetní výkon potřebný k uspokojení rostoucí poptávky po svých službách. Akcie Broadcomu po zprávě výrazně zpevnily.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (37%)
     (46%)
     (19%)
     (20%)
     (24%)
     (18%)
     (20%)
     (18%)
     (18%)
    Celkem 225 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

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

    27.12.2010 19:42 koqror
    Postgresql, Oracle, MSSQL -> mysql: bool sloupec
    Přečteno: 632×
    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.