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í
×
    včera 15:00 | Zajímavý článek

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 1
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 0
    9.5. 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 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.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | 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.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 578 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Dotaz: MySQL vlastnosti sloupce

    9.5.2016 12:47 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    MySQL vlastnosti sloupce
    Přečteno: 1215×
    Zdravíčko,

    Mám takový podivný problém .. pro editaci záznamu z tabulky používám - mimo jiné - i údaje zjištěné pomocí
    while ( $fieldinfo = $result->fetch_field(){....}

    konkrétně mně zajímá hodnota FLAG NOT_NULL.

    Pokud přidávám nový řádek, načítám "prázdný záznam" pomocí dotazu

    $to_select => to jsou sloupce určené k editaci, $t=> jméno tabulky
    $query = 'SELECT '.$to_select.' FROM (SELECT 1) AS ignore_me LEFT JOIN '.$t.' ON 1 LIMIT 1';
    Tento zápis je netriviální proto, že jsem nenašel rozumný způsob, (je lepší ?) jak ošetřit vkládání prvního řádku do prázdné tabulky ... takto mám k dispozici sloupce tabulky vždy, mají správné atributy, které mohu při editaci použít k nastavení INPUT polí ... ale hodnota flagu NOT_NULL se ztratí ... je vždy FALSE

    mohu to vyřešit tak, že nejprve testnu, zda má tabulka nějaké řádky "SELECT COUNT(ID) .... " , a pokud ano, pak načíst první řádek tabulky, fetchnout vlastnosti, vymazat hodnoty a předhodit k editaci. Nicméně problém prvního řádku zůstává.

    Editace již existujícího záznamu, který vytahuju normálním SELECTem, bez těch ošklivin okolo NOT_NULL zachová.

    Takže, co nechápu, proč nyní používaný způsob nezachová atribut NOT_NULL a zda to nejde ošetřit elegantněji než mnou naznačené řešení.

    Děkuji předem za nakopnutí.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Milan Uhrák (tazatel))
    9.5.2016 14:18 Filip Jirsák
    Rozbalit Rozbalit vše Re: MySQL vlastnosti sloupce
    Zkusil bych použít mysqli_stmt_result_metadata. A nebo načítat metadata přímo ze systémových tabulek. U toho vašeho LEFT JOINu je logické, že se NOT NULL „ztratí“ – hodnoty vrácené z té pravé tabulky přece mohou být NULL.
    Řešení 1× (Milan Uhrák (tazatel))
    Josef Kufner avatar 9.5.2016 14:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: MySQL vlastnosti sloupce
    Šmankote, co to děláš za šílenost?

    Jsou dvě možnosti, jak zjistit sloupce tabulky.
    1. Načíst si informace pomocí SHOW COLUMNS a podobných dotazů (nebo z information_schema, ale na to se vybodni).
    2. Udělat SELECT * FROM tabulka LIMIT 0 a pomocí PDOStatement::getColumnMeta() si vytáhnout metadata o každém sloupci (počet sloupců získáš pomocí PDOStatement::columnCount()).
    To první ti dá detailnější informace, to druhé je výrazně rychlejší a při troše štěstí to stačí (NOT NULL tam je).
    Hello world ! Segmentation fault (core dumped)
    9.5.2016 16:55 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL vlastnosti sloupce
    Tak oběma děkuji za zajímavé náměty .. no jinak to prostě neumím, tak jsem to napsal tak, jak jsem vygooglil ...

    Zkusím a zhodnotím .. jo a PDO nepoužívám, jen Mysqli .. ten LIMIT 0 vypadá slibně
    Josef Kufner avatar 9.5.2016 17:07 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: MySQL vlastnosti sloupce
    PDO používej, je to hezké, moderní a slušně navržené API, které funguje na mnoha databázích a ušetří ti to spousty starostí.
    Hello world ! Segmentation fault (core dumped)
    9.5.2016 17:51 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: MySQL vlastnosti sloupce
    Také se přimlouvám za PDO. Má spoustu příjemných vychytávek, například oproti MySQLi má lépe vyřešeny Prepared Statements - metoda bindParam(), která mě tak prudila, se stala prakticky zbytečnou.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.5.2016 20:02 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL vlastnosti sloupce
    No .. mám nad Mysqli takovou vlastní nadstavbu, a jsem s tím spokojen, alespoň co se týče mého "stylu" programování.

    "LIMIT 0" funguje bezvadně, jen s drobnou úpravou okolního kódu, paráda, oběma díky

    Mně předtím prostý SELECT .. LIMIT 1 vlastně nevracel nic, a nevěděl jsem, jak z toho "nic" uvařit ty inputy .. pak jsem někde našel to použité řešení .. už to bylo lepší, ale pořád to zlobilo. NOT_NULL používám k "přibarvení" pozadí vstupu, a kontrole před odesláním, jestli není prázdné ... a u nových vět to pochopitelně nefungovalo. Tohle je úplně profi ..

    M.

    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.