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 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 5
včera 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
včera 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 25
včera 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 10
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 5
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 60
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 675 hlasů
 Komentářů: 61, poslední dnes 13:06
Rozcestník
Reklama

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: 630×
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: 66
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.