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

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 7
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 13
    12.6. 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    12.6. 03:33 | Bezpečnostní upozornění

    Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.

    Ladislav Hagara | Komentářů: 5
    11.6. 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    11.6. 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

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


    Dotaz: mysql triedenie utf8_general_ci + unique index

    5.7.2010 13:33 fraxinus | skóre: 20 | blog: fraxinus
    mysql triedenie utf8_general_ci + unique index
    Přečteno: 702×
    Pouzivam mysql databazu. Vsade pouzivam utf8. Mam tabulku s varchar stlpcom. Nad tymto stlpcom mam unikatny index. Ked pouzijem collate utf_general_ci tak "Pl" a "PL" je pre neho to iste. Tiez napr. "S" a "Š" je pre neho to iste takze tam nemozem insertovať. Ten unikatny index skutocne potrebujem kvoli zachovaniu konzistencie. Použil som teda collate utf_bin. Teraz ale zase nefunguje triedenie takze diakritika je na konci: "Š" je za "Z". Ked explicitne v selekte uvediem že chcem order by collate utf8_general_ci tak zahlasi chybu ze to ned binarnym stlpcom nie je mozne.

    Co s tym? Obavam sa ze riesenie neexistuje.

    Zhrnutie: Potrebujem case-sensitive unikatny index a zaroven korektne triedenie diakritiky.

    Řešení dotazu:


    Odpovědi

    5.7.2010 14:13 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Určite tam nemáš nejakú chybu? Vytvoril som tabuľku a v jednom stĺpci som pre zotriedenie použil utf8_bin (a unikátny index) a SELECT * FROM `test` ORDER BY `text` COLLATE utf8_general_ci mi funguje bez problémov.
    5.7.2010 14:52 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    mysql> set names utf8;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> create table foo (bar varchar(5) character set utf8 collate utf8_bin);
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> insert into foo values ("S");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into foo values ("Š");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into foo values ("Z");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into foo values ("Ž");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from foo order by 1 collate utf8_general_ci;
    ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'binary'
    
    5.7.2010 15:12 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Zoraďuješ to podľa čísla (binárnej hodnoty) a tam ti to fungovať nebude. Collate musíš použiť pri stĺpci, pri ktorom to má zmysel (takže ORDER BY `bar` fungovať bude).
    5.7.2010 17:04 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    > Zoraďuješ to podľa čísla (binárnej hodnoty) a tam ti to fungovať nebude.

    Myslis to cislo za order by?

    >> select * from foo order by 1
    5.7.2010 17:09 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Áno. Zoraďovanie (collate) funguje pri reťazcoch a nie pri číslach (čiže collate nemôžeš použiť na stĺpce typu INT a podobné).

    Ak chceš naozaj zoraďovať podľa nejakého čísla, tak tam to collate nedávaj.
    5.7.2010 17:13 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    to nie je tym, to je uplne ina nesuvisiaca chyba. Ak je v selekte COLLATE, neda sa pouzit na identifikaciu stlpca jeho poradie ale len jeho meno!
    Řešení 1× (fraxinus (tazatel))
    5.7.2010 17:11 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    No to je ale podraz od mysql. Skutocne toto funguje len ak uvediem nazov stlpca, nie jeho poradie:

    select * from user order by name collate utf8_general_ci -- funguje
    select * from user order by 1 collate utf8_general_ci -- NEFUNGUJE
    select * from user order by name -- funguje
    select * from user order by 1 -- funguje (zotriedi podla prveho stlpca)
    8.7.2010 15:52 Sten
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    „ci“ v „utf_general_ci“ znamená „case insensitive“. Co takhle to nahradit za „utf_general_cs“?
    8.7.2010 16:07 chrono
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Nie sú všetky porovnávania v MySQL len case insensitive? (teda okrem tých binárnych)
    8.7.2010 16:18 Sten
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    Nejsou
    8.7.2010 16:23 Sten
    Rozbalit Rozbalit vše Re: mysql triedenie utf8_general_ci + unique index
    I když teď koukám, že MySQL nemá „utf8_general_cs“, to je stále pouze ve stádiu návrhu

    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.