abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 13:33 | Komunita Ladislav Hagara | Komentářů: 2
    dnes 13:22 | Komunita

    Richard Hughes na svém blogu oznámil, že počet aktualizací firmwarů pomocí služby LVFS (Linux Vendor Firmware Service) přesáhl 100 milionů. Přehled podporovaných zařízení, nejnovějších firmwarů nebo zapojených výrobců na stránkách LVFS.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Nová verze

    Byla vydána nová stabilní verze 3.19.0, tj. první z nové řady 3.19, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou podporu Raspberry Pi 5.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Zajímavý software

    Altap Salamander (Wikipedie), dvoupanelový správce souborů pro Windows, byl uvolněn jako open source pod názvem Open Salamander. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2.

    Ladislav Hagara | Komentářů: 2
    dnes 07:00 | IT novinky

    Společnost JetBrains představila (YouTube) svou umělou inteligenci JetBrains AI a nástroj AI Assistant v IDE.

    Ladislav Hagara | Komentářů: 6
    včera 22:33 | Nová verze

    Byla vydána nová verze 255 správce systému a služeb systemd (GitHub, NEWS). Z novinek lze vypíchnout například novou službu systemd-bsod.service.

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

    Google představil Gemini, svůj největší a nejschopnější model umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Komunita

    openSUSE komunita vybírá nová loga. Jedním z cílů je odlišit se od SUSE. Aktuálně probíhá hlasování o logu openSUSE a čtyř distribucí Tumbleweed, Leap, Slowroll a Kalpa.

    Ladislav Hagara | Komentářů: 6
    včera 13:22 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2023-12-05. Přehled novinek v příspěvku na blogu a poznámkách k vydání. Nově jej lze používat také s tmavým tématem.

    Ladislav Hagara | Komentářů: 1
    včera 08:00 | Humor

    Dnes je to 10 let, co byla vytvořena decentralizovaná kryptoměna Dogecoin. Autoři Billy Markus a Jackson Palmer ji původně zamýšleli jako vtip. Znakem kryptoměny je pes Shiba-Inu známý z internetových memů.

    JZD | Komentářů: 11
     (37%)
     (13%)
     (51%)
    Celkem 79 hlasů
     Komentářů: 2, poslední včera 22:12
    Rozcestník

    Dotaz: počítanie auto increment odznovu na začiatku roku

    30.8.2011 20:12 adrinko | skóre: 22
    počítanie auto increment odznovu na začiatku roku
    Přečteno: 680×
    dobrý deň, prosím Vás, videl som spoločnosť, ktorá automaticky čísluje objednávky na začiatku roku od jednotky (forma:rok+číslo.objednávky, napr 20101, 20102, atď). Predpokladám, že na to majú v databáze auto increment. Problém je, že keď si nastavím auto increment v db, tak aj po novom roku bude počítať ďalej a nezačne opäť od jednotky pre nový rok. Ja by som potreboval, aby prvý zápis v novom roku hneď začínal na jednotke a od nej ďalej počítal auto increment pre daný rok. Následne ak sa zmení rok a bude už 2012, tak nech zase počíta od jednotky pre tento rok.

    Dá sa teda nejak automaticky docieliť, aby skript a mysql vždy na začiatku roku začal počítať od nuly?

    P.S. možno sa to dá len tak urobiť, že napr. predpripravím tabuľky pre 2010, 2011, 2012, 2013, atď a skript sa podľa aktuálneho roku bude pripájať k tej ktorej tabuľke. Avšak toto by som musel manuálne robiť, no ja by som to rád zautomatizoval, aby nebolo nutné manuálne vytvárať tabuľky.

    Odpovědi

    30.8.2011 21:13 Kit
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    V MySQL je možné poslední ID přepsat jinou hodnotou, auto_increment bude pokračovat v nové řadě. Mohlo by to jít i triggerem.

    Další možností je použití složeného primárního klíče.

    O půlnoci na Nový Rok 2012 je možné časovačem vložit a hned zrušit záznam
    INSERT INTO objednavky (id) values (2012000);
    DELETE FROM objednavky WHERE id=2012000;
    
    Další vložený záznam bude mít číslo 2012001.

    Možností je víc. Pokud není nutné rozdělovat tabulku podle let z kapacitních důvodů, tak bych to nedělal.
    rADOn avatar 12.9.2011 23:02 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    na zmenu pocitadelka neni potreba takove nasili, da se to udelat ALTERem
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    Josef Kufner avatar 30.8.2011 21:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    Ne, na tohle auto increment není.

    Pokud chceš hezkou sekvenci, tak si ji musíš vygenerovat sám. Můžeš ale vložit do DB prázdný řádek, tím si nechat přidělit ID pomocí auto increment, a pak doplnit do řádku data, včetně vypočteného čísla objednávky.

    Nebo můžeš udělat SELECT MAX(cislo_objednavky) a z toho vygenerovat nové číslo. Poud by se pak insert nepovedl, tak vznikla duplicita a vygeneruješ si nové (zamykání ani transakce netreba).
    Hello world ! Segmentation fault (core dumped)
    31.8.2011 08:00 Ondra
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

    Buďto používat složený klíč jak je v příkladu (jeden sloupec s rokem a v druhém se Vám budou automaticky generovat čísla od začátku - toto je řešení automatické "na věčné časy"), nebo 1.ledna (januára) vždy spustit script, který udělá ALTER TABLE a nastaví autoincrement aby začínal od potřebné hodnoty. Co pro Vás bude lepší posuďte sám.
    5.9.2011 10:08 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    Ondro, ďakujem za názorný príklad. Tie zložené kľúče sú super. Mal by som ešte jednu otázočku. Nastavil som pri create table autoincrement na 200, ale aj tak mi čísluje v id od 1,2,3, atď. Skúšal som aj alter table a nastaviť to aj v phpmyadmin, ale stále čísluje v id od 1 namiesto od 201. Neviete náhodou, kde robím chybu?
    5.9.2011 10:20 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    uf, tak ešte jedna otázka: keď po vložení použíjem insert_id(), tak mi vráti posledné auto increment číslo. Ako to ale spraviť, aby mi vrátilo aj auto increment číslo zviazané s druhým parametrom skupiny, do ktorej som vkladal? chcel by som jednoznačne identifikovať vložený riadok... vďaka
    5.9.2011 13:55 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    teoreticky aj prakticky by mi malo stačiť vrátené auto increment číslo a následne si ho spárujem s vloženou skupinou a tak jednoznačne charakterizujem konkrétny riadok. :)

    už len zostáva vyriešiť, prečo keď pre tabuľku nastavím auto increment od povedzme 200, tak mi tak či tak zadáva do stĺpca pre auto increment čísla od 1,2,3...atď. prečo?
    5.9.2011 14:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    Odpovědí je:
    In this case, the generated value for the AUTO_INCREMENT column is calculated as MAX(auto_increment_column) + 1 WHERE prefix=given-prefix.

    Musíte, aspoň si to myslím, vložit první záznam a změnit mu hodnotu na 200 (a to pro každou skupinu/rok).
    Jinak je to podle mě cesta do pekel (ony jsou to takové pomůcky jako Danajské dary). Josef Kufner Vám tady psal návrh na transparentní řešení.
    PS: I kdyby jste použil „jen“ jednoduchý auto_increment sloupec, tak nastavení jeho startovací hodnoty, třeba na začátku roku, také není zrovna nejlepší, protože například InnoDB tabulky si tuto hodnotu neudrží při restartu serveru (po restartu se u InnoDB tabulek provede MAX(auto_increment_column) a podle toho se nastaví counter).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.9.2011 15:38 adrinko | skóre: 22
    Rozbalit Rozbalit vše Re: počítanie auto increment odznovu na začiatku roku
    vďaka. spravím to podľa riešenia od pána Kufnera, tak to bude pravdepodobne najlepšie, ako sa mi v daný moment dá. síce do skriptu budem musieť dať o jeden update riadku v db navyše, ale to nevadí. diky moc

    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.