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

    Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.

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

    Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Humor

    Asociace repair.org udělila anticeny těm nejhorším produktům představeným na veletrhu CES 2026. Oceněnými jsou například šmírující kamery Amazon Ring AI, chytrý běžecký pás od společnosti Merach, která otevřeně přiznává, že nedokáže zabezpečit osobní data uživatelů, případně jednorázové lízátko, které rozvibrovává čelisti uživatele a tak přehrává hudbu. Absolutním vítězem je lednička od Samsungu, která zobrazuje reklamy a kterou lze otevřít pouze hlasovým příkazem přes cloudovou službu.

    NUKE GAZA! 🎆 | Komentářů: 7
    dnes 12:00 | IT novinky

    Íránští protirežimní aktivisté si všímají 30% až 80% ztráty packetů při komunikaci se satelity služby Starlink. Mohlo by se jednat o vedlejší důsledek rušení GPS, kterou pozemní přijímače Starlinku používají k výpočtu polohy satelitů a kterou se režim rovněž snaží blokovat, podle bezpečnostního experta a iranisty Amira Rashidiho je ale pravděpodobnější příčinou terestrické rušení přímo satelitní komunikace Starlinku podobnou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 4
    dnes 00:55 | IT novinky

    Evropská komise (EK) zvažuje, že zařadí komunikační službu WhatsApp americké společnosti Meta mezi velké internetové platformy, které podléhají přísnější regulaci podle unijního nařízení o digitálních službách (DSA). Firmy s více než 45 miliony uživatelů jsou podle DSA považovány za velmi velké on-line platformy (Very Large Online Platforms; VLOP) a podléhají přísnějším pravidlům EU pro internetový obsah. Pravidla po

    … více »
    Ladislav Hagara | Komentářů: 14
    dnes 00:44 | IT novinky

    Tržní hodnota technologické společnosti Alphabet poprvé v historii přesáhla čtyři biliony dolarů (83 bilionů Kč). Stalo se tak poté, co Apple oznámil, že bude na poli umělé inteligence (AI) spolupracovat s dceřinou firmou Alphabetu, společností Google.

    Ladislav Hagara | Komentářů: 3
    včera 11:11 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 161 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 10:44 | Nová verze

    Po delší době vývoje vyšla nativní linuxová verze virtuálního bubeníka MT-PowerDrumKit 2 ve formátu VST3. Mezi testovanými hosty jsou Reaper, Ardour, Bitwig a Carla.

    balda | Komentářů: 1
    11.1. 21:33 | Nová verze

    Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.

    Ladislav Hagara | Komentářů: 0
    11.1. 13:00 | Humor

    OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.

    NUKE GAZA! 🎆 | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (7%)
     (5%)
     (0%)
     (9%)
     (20%)
     (3%)
     (6%)
     (3%)
     (11%)
     (49%)
    Celkem 391 hlasů
     Komentářů: 11, poslední dnes 15:18
    Rozcestník

    Dotaz: PhpMyAdmin - Omezení vkládaných dat

    25.3.2012 15:27 Dušan S.
    PhpMyAdmin - Omezení vkládaných dat
    Přečteno: 782×
    Ahoj, jak můžu v phpmyadminu udělat omezení pro nějaký sloupec, jedná se mi o to, aby do něk šlo zapsat pouze číslo 0,1,5 a 9. Díky za pomoc

    Řešení dotazu:


    Odpovědi

    25.3.2012 15:58 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Obávám se, že na tohle je databáze MySQL krátká. Zkusil jsem
    CREATE TABLE omezeni(cislo int CHECK(cislo IN(0,1,5,9)));
    Příkaz sice proběhl bez chyby, ale uložilo se každé číslo bez omezení. Když jsem zkusil totéž s databází SQLite, fungovalo to naprosto bez vady. Pokud tuto funkčnost a mnoho dalších chybějících v MySQL potřebuješ, doporučuji přejít na SQLite.
    25.3.2012 16:05 kt
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Co datovy typ ENUM?
    25.3.2012 16:14 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Zkusil sis to? Mně to nefunguje. Naprosto s přehledem to vkládá i čísla, která v ENUM nejsou.
    25.3.2012 21:08 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    To by mělo fungovat, viz výpis:
    mysql> select @@sql_mode;
    +------------+
    | @@sql_mode |
    +------------+
    |            | 
    +------------+
    1 row in set (0.00 sec)
    
    mysql> CREATE TABLE e ( abc ENUM('a', 'b', 'c') ) ENGINE = MyISAM;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> insert into e(abc) VALUES('invalid');
    Query OK, 1 row affected, 1 warning (0.00 sec)
    
    mysql> SHOW WARNINGS;
    +---------+------+------------------------------------------+
    | Level   | Code | Message                                  |
    +---------+------+------------------------------------------+
    | Warning | 1265 | Data truncated for column 'abc' at row 1 | 
    +---------+------+------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> select * from e;
    +------+
    | abc  |
    +------+
    |      | 
    +------+
    1 row in set (0.00 sec)
    
    mysql> SET @@session.sql_mode = 'STRICT_TRANS_TABLES';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> insert into e(abc) VALUES('invalid');
    ERROR 1265 (01000): Data truncated for column 'abc' at row 1
    mysql> select * from e;
    +------+
    | abc  |
    +------+
    |      | 
    +------+
    1 row in set (0.00 sec)
    
    Ale ENUM nedoporučuji, a je otázkou jestli bude fungovat s klauzulí NOT NULL (takže k výčtu přibude i NULL).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    25.3.2012 21:28 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    ENUM s řetězci funguje, ale nefunguje s čísly.
    25.3.2012 22:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Ano, ale lze jej na čísla normálně používat a nevložíš hodnotu mimo výčet.
    mysql> select @@sql_mode;
    +---------------------+
    | @@sql_mode          |
    +---------------------+
    | STRICT_TRANS_TABLES | 
    +---------------------+
    1 row in set (0.00 sec)
    
    mysql> CREATE TABLE e ( abc ENUM('1', '2', '3') ) ENGINE = MyISAM;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> insert into e(abc) VALUES(1);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into e(abc) VALUES(9);
    ERROR 1265 (01000): Data truncated for column 'abc' at row 1
    mysql> select * from e;
    +------+
    | abc  |
    +------+
    | 1    | 
    +------+
    1 row in set (0.00 sec)
    
    mysql> select abc*7 AS col from e;
    +------+
    | col  |
    +------+
    |    7 | 
    +------+
    1 row in set (0.00 sec)
    mysql> 
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    25.3.2012 22:22 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    OK, tak si zkus tohle:
    CREATE TABLE e ( abc ENUM('0', '1', '5', '9') ) ENGINE = MyISAM;
    INSERT INTO e(abc) VALUES(1);
    INSERT INTO e(abc) VALUES(3);
    SELECT * FROM e;
    
    Mně to vypisuje hovadiny.
    25.3.2012 22:54 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Aha no jo, tak sorry, chová se to na čísla perfektně, to mě baví :-)
    Chová se to tak, že pokud zadáš číslo, a není platné, tak se to bere jako index a pokud je v rozhsahu tak se to vloží.
    0 → '0' (dle hodnoty)
    1 → '1' (dle hodnoty)
    2 → '1' (dle indexu)
    3 → '5' (dle indexu)
    4 → '9' (dle indexu)
    9 → '9' (dle hodnoty)
    
    jiná čísla nejsou platná - to se vyplatí, ne?!
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    25.3.2012 22:55 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    …ještě 5-ka (dle hodnoty)…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    25.3.2012 23:21 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Jenom zírám, kam až nás zavedl nefunkční CHECK. A to jsme ještě neprolezli variantu s triggery...

    K čemu je vlastně taková DB dobrá, když musíme základní vlastnosti flikovat? Velmi často vidím její použití jako KVS. Na to opravdu SQL nepotřebujeme.
    26.3.2012 08:37 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    To si musí každý zvážit sám, je to jednoduché rychlé SQL úložiště.
    Pokud někdo chce udělat DB aplikaci s maximální integritou a logikou v DB, stejně se nevyhne triggerům funkcím a to už je CHECK jen taková třešnička. Sám jsem nepracoval/nevytvářel DB jak někteří, kteří musí „co select to VIEW, a co operace to funkce“ (což byla sranda dřív na některých DBE, pokud funkce neměli pojmenované parametry, jen pořadí a bylo jich tam třeba 12).
    Ale dělal jsem něco, kde mi přišel jako ohromný nápad používat CREATE DOMAIN (Firebird) na kde co - už to dělat nebudu :-).
    Běžnou aplikaci, z mého pohledu dostatečnou integritou a logikou, s použitím triggerů a několika funkcí, lze v MySQL naprosto normálně udělat.
    Ale jinak pro mě má MySQL nezastupitelnou úlohu, protože umí nativně unsigned typy a různé typy INT-ů, pro někoho je to prkotina, jak už n-krát zaznělo, ale pokud je DB o 1/3 až 1/2 menší, tak se vleze do paměti (nebo tam toho aspoň zůstane víc).
    Na MySQL jsem v minulosti provozoval normálně aplikaci na stroji (s velmi málo paměti), na který Oracle nešel nainstalovat, a PostgreSQL jsem rozumně nerozchodil (číst z disku a swapovat nešlo dohromady).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.3.2012 09:00 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Podle mne je MySQL primitivní pomalé úložiště. Za jednoduché rychlé SQL úložiště považuji např. SQLite, které si místo pro různé typy INTů alokuje dynamicky od 1 Bytu a na web se hodí mnohem lépe.
    26.3.2012 09:14 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    <joke>To je ten DBE, který využívá Evolution a musím ho lidem každou chvíli spravovat bo se totálně rozjedou index-i?</joke>
    (Nevím kde je chyba, ale děje se to při nedostatku místa na disku a to dojde proto, že při mazání DB potřebuje 2-6× více místa pro smazání, než jsou index-i mazaných dat, jako hláška na win při mazání souboru „Pro danou operaci není dostatek místa na disku, uvolněte místo smazáním jednoho nebo více souborů“)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.3.2012 09:50 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Ano, to bude asi on. Zřejmě autoři Evolution nezvládli jeho použití, možná mají chybu v datovém modelu. Mně se nerozsype ani při přeplnění disku. Zkušenosti s chováním SQLite na Windows nemám.

    Příkaz VACUUM spotřebuje 3x víc místa, ale to by při podobné operaci udělaly všechny databáze. Při mazání DB není potřeba žádné místo navíc, prostě se smaže soubor.
    26.3.2012 10:26 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    To nebylo hláška z SQLLite na Windows, ale z obecného mazání souboru při plném disku přes Explorera…
    SQLite & Evolution:
    Uživatel nemaže DB ale maže záznamy a vysype koš, a je možné, že se provádí VACUUM, každopádně výsledkem je, že uživatel nedostane žádné info o chybě, a při otvírání pošty pod hlavičkou něčeho má úplně něco jiného a nebo to tam vůbec není (i když pošta na disku normálně je) - důvodem tohoto chování, je nedokončená DB operace, totálně rozhašené index-i ukazující kamkoliv, jenom ne tam kam by měli (a místo na disku opět je, protože i když se operace nedokončí, místo alokované touto operací se uvolní).
    Buď vývojáři ignorují návratový kód operace a pak i chybu integrity při opětovném otvírání db, nebo to dbe neohlásí a v druhém případě o tom ani neví, protože normálně funguje - jen jinak…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.3.2012 10:59 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Databáze SQLite má licenci Public Domain. Autoři Evolution z ní mohli vyházet vše, co z jejich pohledu snižuje výkon, včetně některých bezpečnostních mechanismů. Možná ani nepoužili transakce či triggery, které SQLite normálně podporuje.

    Při přeplnění disku se SQLite běžně chová tak, že operaci neprovede a ohlásí chybu ve formě stavového kódu. Pokud ho aplikace ignoruje, je to její problém.

    Otázkou je, jestli chyba integrity je na úrovni databáze nebo na úrovni Evolution. Myslím si, že to spíš bude to druhé a důvodem bude špatný datový model a nepoužívání transakcí.
    25.3.2012 16:09 Dušan S.
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Já jsem to tak kdysi měl, čili předpokládám, že to umí, dokonce pokud jsem vkládal data pomoci phpmyadmina tak jsem nemohl ani zadat hodnotu, musel jsem vybrat hodnotu ze selectobxu - což bylo fajn..
    25.3.2012 16:19 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    S phpMyAdminem nemám téměř žádné zkušenosti, může dělat některá integritní omezení na aplikační úrovni. MySQL sice integritní omezení přijme (neohlásí chybu), ale z vysoka se na ně >/dev/null
    25.3.2012 16:17 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Nezáleží to na typu úložiště? InnoDB by to mohlo umět...
    25.3.2012 16:38 Kit
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Zkusil jsem to, výsledek úplně stejně tragický. Přitom podporu InnoDB mám funkční. MySQL 5.1.57.

    Kromě toho podpora InnoDB není na webhostingu příliš často k vidění.
    25.3.2012 16:47 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    No jo:
    The CHECK clause is parsed but ignored by all storage engines.
    Nemůžu si pomoc, MySQL si svou pověst zaslouží...
    25.3.2012 21:12 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PhpMyAdmin - Omezení vkládaných dat
    Obecně: v MySQL omezení vstupu můžete udělat jen s použitím triggeru (třeba BEFORE INSERT).
    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.