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

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 0
    29.8. 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.8. 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 3
    28.8. 14:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 4
    28.8. 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 26
    27.8. 16:33 | IT novinky

    Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.

    Ladislav Hagara | Komentářů: 1
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (80%)
     (9%)
     (3%)
     (4%)
     (4%)
     (1%)
    Celkem 113 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    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: 337×
    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.