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 04:22 | Nová verze

    Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | IT novinky

    Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.

    Ladislav Hagara | Komentářů: 0
    včera 02:55 | IT novinky

    Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 01:33 | Nová verze

    Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    19.8. 16:00 | Pozvánky

    V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »

    lkocman | Komentářů: 0
    19.8. 14:11 | IT novinky

    Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.

    Ladislav Hagara | Komentářů: 1
    19.8. 05:55 | IT novinky

    Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o

    … více »
    Ladislav Hagara | Komentářů: 19
    19.8. 04:44 | IT novinky

    Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2448 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: MySQL a záhadně propojené sloupce

    Barbucha.eu avatar 2.6.2008 08:06 Barbucha.eu | skóre: 23 | Chrást u Plzně
    MySQL a záhadně propojené sloupce
    Přečteno: 452×
    Mám tabulku a v ní se mi děje cosi, čemuž moc nerozumím.
    create table logins
    (
    	logId		int unsigned		not null primary key auto_increment,
    	userId		tinyint unsigned	not null, /* FK */
    	login		timestamp		not null,
    	logout		timestamp,
    	hostId		smallint unsigned	not null, /* FK */
    	expired		bit			not null default 1,
    	foreign key (userId) references users(userId) on delete cascade,
    	foreign key (hostId) references hosts(hostId) on delete cascade
    ) engine=innodb;
    V té tabulce když provedu změnu dvou buněk v jednom řádku, tak se v onom řádku změní buňky tři. Myslel jsem si, že chyba je někde v aplikaci, nebo uložené proceduře, protože jak je už z tohoto výpisu zřejmé, doba přihlášení a odhlášení je vždy stejná. Tak jsem poslední hodnotu, která ještě nebyla nastavována, upravil ručně.
    mysql> select * from logins;
    +-------+--------+---------------------+---------------------+--------+---------+
    | logId | userId | login               | logout              | hostId | expired |
    +-------+--------+---------------------+---------------------+--------+---------+
    |     1 |      3 | 2008-06-01 17:20:02 | 2008-06-01 17:20:02 |      1 |         |
    |     2 |      3 | 2008-06-01 17:21:25 | 2008-06-01 17:21:25 |      1 |         |
    |     3 |      1 | 2008-06-01 17:22:12 | 2008-06-01 17:22:12 |      1 |         |
    |     4 |      2 | 2008-06-01 17:26:12 | 0000-00-00 00:00:00 |      1 |       1 |
    +-------+--------+---------------------+---------------------+--------+---------+
    4 rows in set (0.00 sec)
    Spustil jsem samotný příkaz update zkopírovaný z uložené procedury.
    mysql> update logins set expired=0,logout=current_timestamp where logId=4;
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    Výsledek mě dosti zarazil. Posuďte sami.
    mysql> select * from logins;
    +-------+--------+---------------------+---------------------+--------+---------+
    | logId | userId | login               | logout              | hostId | expired |
    +-------+--------+---------------------+---------------------+--------+---------+
    |     1 |      3 | 2008-06-01 17:20:02 | 2008-06-01 17:20:02 |      1 |         |
    |     2 |      3 | 2008-06-01 17:21:25 | 2008-06-01 17:21:25 |      1 |         |
    |     3 |      1 | 2008-06-01 17:22:12 | 2008-06-01 17:22:12 |      1 |         |
    |     4 |      2 | 2008-06-01 17:26:25 | 2008-06-01 17:26:25 |      1 |         |
    +-------+--------+---------------------+---------------------+--------+---------+
    4 rows in set (0.00 sec)
    Přestože nad tabulkou není nikde vytvářen žádný trigger a v příkazu update se při odhlášení nastavují jen sloupce expired a logout, změní se i hodnota ve sloupci login. Nedovedu si takové záhadné chování MySQL-serveru vysvětlit. Čím to může být, že při vkládání se sloupce chovají normálně a při úpravě se chovají, jakoby byly jen jeden?
    Co Bůh rozbil, člověk neopravuj!

    Řešení dotazu:


    Odpovědi

    2.6.2008 09:17 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: MySQL a záhadně propojené sloupce
    Zkusil bych si tu samou tabulku (bez FK) vytvořit na nějaké úplně čisté databázia porovnat, zda se to bude chovat stejně. Ať víte, kterým směrem pátrat – zda je to problém právě té jedné instance vaší databáze, nebo zda se tak chová MySQL vždy.
    Dalibor Smolík avatar 2.6.2008 09:35 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: MySQL a záhadně propojené sloupce
    Zkusil jsem si takovou tabulku vytvořit, změny se projevují podobně (změna v obou polích při zadání změn jen v jednom z nich) - není to právě vlastnost pole typu timestamp?
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    Řešení 1× (Barbucha.eu (tazatel))
    2.6.2008 09:35 Bilbo
    Rozbalit Rozbalit vše Re: MySQL a záhadně propojené sloupce
    Strucne receno, sloupec typu TIMESTAMP se updatuje sam a to na hodnotu kdy bylo naposledy s radkem hybano, proste takove automaticke datum posledni zmeny - pokud mu neni prirazena explicitne jina hodnota (coz je feature a ne bug :)

    Presne je to chovani popsano v manualu: http://dev.mysql.com/doc/refman/5.0/en/timestamp.html

    Ve starsich verzich (4.1 a starsi) se to chovani pak jetse trochu lisi od nejnovejsi.
    2.6.2008 09:42 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: MySQL a záhadně propojené sloupce
    Přesně tak. Autor asi chtěl použít typ DATETIME.

    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.