Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).
Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.
Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.
Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.
Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.
Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.
Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.
David Buchanan na svém blogu rozebírá zranitelnost acropalypse (CVE-2023-21036) telefonů Google Pixel. Z výřezu (crop) snímku obrazovky vytvořeného integrovanou aplikací Markup může být možné částečné obnovení původního snímku obrazovky. Viz tweet Simona Aaronse. Vyzkoušet lze webovou aplikaci acropalypse.app. Opraveno v březnové aktualizaci.
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.19.0. Přehled novinek i s náhledy v příspěvku na blogu. Kvůli "převzetí Gitei" společností Gitea Limited byl v prosinci loňského roku představen fork Gitei s názvem Forgejo (Codeberg).
Byla vydána nová verze 5.11 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Nově je používán zram. Tor Browser byl aktualizován na verzi 12.0.4. Thunderbird na verzi 102.9.0.
tabulka 'reg' má sloupce id, temp a email $stmt = $pdo->prepare('UPDATE `reg` SET temp = ? WHERE email = ?'); $stmt->execute(array($temp, $email));a potřeboval bych nějak po provedení tohoto dotazu vrátit id toho řádku ve kterém se ten update provedl. Děkuji
id
pomocou SELECT `id` FROM `reg` WHERE email = ?
. A potom zmeniť temp
pomocou UPDATE `reg` SET temp = ? WHERE id = ?
.
SELECT FOR UPDATE
. Jinak se může záznam mezi SELECT
em a UPDATE
m nekontrolovaně změnit a UPDATE
pak aktualizuje špatný záznam.
V tom případě je ale potřeba použít SELECT FOR UPDATE
.
Jak to myslíte? nic nemůžu kolm toho najít.. díky
SELECT FOR UPDATE
zamkne příslušné řádky, takže je jiná transakce nemůže měnit. Když řádky nezamknete, může při souběhu transakcí dojít ke změně jiných dat, než jste čekal.
Transakce 1 | Transakce 2 SELECT id FROM table WHERE email = 'franta@novak.cz'; | -- id = 1 | | | UPDATE table SET email = 'hugo@boss.cz' WHERE id = 1; | UPDATE table SET temp = 123 WHERE id = 1; |V transakci 1 jste tedy změnil záznam s e-mailem
hugo@boss.cz
, přitom jste chtěl změnit záznam s e-mailem franta@novak.cz
.
UPDATE `reg` SET temp = ? WHERE email = ?
V mysql můžeš
UPDATE `reg` SET id = @id := id, temp = ? WHERE email = ?
a pak id zjistit SELECT @id
.
Portabilní verzi je přes zamykání (tzn. select id where .... for update a pak teprv updatnout dle id), jak píší předřečníci.
Pokud používáš postgresql, můžeš udělat:
UPDATE `reg` SET temp = ? WHERE email = ?
Předpokládám, že bylo myšleno
UPDATE `reg` SET temp = ? WHERE email = ? RETURNING id;
Tiskni
Sdílej: