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 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
dnes 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
dnes 00:08 | Pozvánky

V sobotu 18. 2. se v Praze v prostorách VŠE uskuteční od 9:30 již 4. ročník největší české konference o open source redakčním systému WordPress (WP) - WordCamp Praha 2017.

… více »
smíťa | Komentářů: 0
včera 23:58 | Komunita

Kryptoměnová komunita zahájila nový rok spuštěním projektu Blockchain.cz, jehož cílem je kolektivně nalézt ideální překlad pro čím dál frekventovanější slovo „blockchain“. Přispět návrhem může kdokoli. Sběr bude trvat až do konce září 2017. Následně bude probíhat dvoutýdenní veřejné hlasování, které bude zakončeno výběrem toho nejlepšího návrhu.

xHire | Komentářů: 7
včera 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno je celkově 270 bezpečnostních chyb. V Oracle Java SE je například opraveno 17 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 16 z nich. V Oracle MySQL je opraveno 27 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 5 z nich.

Ladislav Hagara | Komentářů: 0
včera 02:48 | Nová verze

Po půl roce od vydání verze 9.0 (zprávička) byla vydána verze 10.0 zvukového serveru PulseAudio. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 31
včera 00:33 | Komunita Ladislav Hagara | Komentářů: 8
18.1. 17:30 | Zajímavý článek

Mozilla.cz informuje, že webový prohlížeč Firefox bude od verze 53 obsahovat integrovaný prohlížeč dat ve formátu JSON. Firefox kromě strukturovaného prohlížení nabídne také možnost filtrace a uložení na disk. Dle plánu by měl Firefox 53 vyjít 18. 4. 2017.

Ladislav Hagara | Komentářů: 1
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 334 hlasů
 Komentářů: 24, poslední 17.1. 10:14
    Rozcestník
    Reklama

    Dotaz: MySQL vlastnosti sloupce

    9.5.2016 12:47 Milan Uhrák | skóre: 25 | blog: milan_at_ABC
    MySQL vlastnosti sloupce
    Přečteno: 917×
    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: 66
    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: 25 | 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: 66
    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: 37 | 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: 25 | 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.