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 11:33 | Pozvánky

    Blíží se léto, chladiče topí, tranzistory se přehřívají, novinářům pomalu docházejí témata a nastává klasická okurková sezóna. Je tomu tak i mezi bastlíři? Na to se podíváme na Virtuální Bastlírně! Tentokrát se strahováci podívají na zoubek velmi slibně vypadajícímu open-source EDM projektu - ne, nejde o taneční hudbu, ale o elektroobrábění. Ukáží taky, jak vypadá starší cykloradar zevnitř nebo jak se testuje odolnost iPhonů.

    … více »
    bkralik | Komentářů: 0
    dnes 11:22 | Humor

    CEO Microsoftu Satya Nadella odstoupil z představenstva Starbucks [CNBC, SEC].

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Upozornění

    Společnosti Ticketmaster byla odcizena databáze s osobními údaji (jméno, adresa, telefonní číslo a část platebních údajů) 560 miliónů zákazníku. Za odcizením stojí skupina ShinyHunters a za nezveřejnění této databáze požaduje 500 tisíc dolarů [BBC].

    Ladislav Hagara | Komentářů: 16
    31.5. 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

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

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 31
    31.5. 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 4
    31.5. 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    31.5. 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 9
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    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: 686×
    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.