Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.3.0. S experimentální podporou FLTK 1.4. S příkazem dilloc pro ovládání prohlížeče z příkazové řádky. Vývoj prohlížeče se přesunul z GitHubu na vlastní doménu dillo-browser.org (Git).
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáři v přehledu vypíchli vylepšenou instalaci, podporu senzoru okolního světla, úsporu energie, opravy Bluetooth nebo zlepšení audia. Vývoj lze podpořit na Open Collective a GitHub Sponsors.
raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.
Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).
Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.
Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také
… více »Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).
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.26.0. Přehled novinek v příspěvku na blogu.
CREATE TABLE popis (
id INTEGER PRIMARY KEY AUTOINCREMENT,
text TEXT
);
CREATE TABLE popis_obrazek (
id INT NOT NULL,
src TEXT NOT NULL,
FOREIGN KEY(id) REFERENCES popis(id)
);
A výsledkem parsování je takovýto soubor:
INSERT INTO popis (text) VALUES("Jakysi popis");
INSERT INTO popis_obrazek (id, src) VALUES((SELECT seq FROM sqlite_sequence WHERE name='popis'), 'obrazek1.jpg');
INSERT INTO popis_obrazek (id, src) VALUES((SELECT seq FROM sqlite_sequence WHERE name='popis'), 'obrazek2.jpg');
A všechno pracuje jak má. Každý obrázek má id popisu, ke kterému patří.
Napadlo mě vyhodit z tabulky popis ten sloupec id, vždyť je tam už rowid. Ale jak s ním pracovat v insertech, vždyť po prvním insertu do popis_obrazek se last_insert_rowid() změní. Našel jsem, že by to šlo oklikou přes pomocnou tabulku, ale zdá se mi to zbytečné. Je na to nějaký fígl, nebo je lepší nechat id a nepoužívat rowid?
Díky za inspiraci.
CREATE TABLE popis (
text TEXT
);
CREATE TABLE popis_obrazek (
id INT NOT NULL,
src TEXT NOT NULL,
FOREIGN KEY(id) REFERENCES popis(rowid)
);
INSERT INTO popis (text) VALUES("Jakysi popis");
INSERT INTO popis_obrazek (id, src) VALUES((SELECT LAST_INSERT_ROWID()), 'obrazek1.jpg'), ((SELECT LAST_INSERT_ROWID()), 'obrazek2.jpg');
To id v tabulce popis_obrazek tam být musí, identifikuje, ke kterému popisu obrázek patří.
Děkuji mnohokráte za radu.
INSERT INTO popis VALUES('Jakysi popis') RETURNING rowid;
A pozor, bez: PRAGMA foreign_keys = ON;nebude fungovat kontrola referenční integrity.
CREATE TABLE popis_obrazek (
popis_rowid INTEGER NOT NULL,
src TEXT NOT NULL,
FOREIGN KEY(popis_rowid) REFERENCES popis(rowid)
);
Následně můžete vkládat do tabulky popis_obrazek pomocí příkazu INSERT s výrazem last_insert_rowid() pro získání posledního vloženého rowid:
INSERT INTO popis (text) VALUES("Jakysi popis");
INSERT INTO popis_obrazek (popis_rowid, src) VALUES(last_insert_rowid(), 'obrazek1.jpg');
INSERT INTO popis_obrazek (popis_rowid, src) VALUES(last_insert_rowid(), 'obrazek2.jpg');
Tento způsob může být vhodný, pokud nepotřebujete sloupec id v tabulce popis a chcete využít automatického generování identifikátorů v SQLite pomocí rowid.
Pokud ale potřebujete sloupec id v tabulce popis, je lepší ho ponechat a používat ho jako klíč pro odkazování v tabulce popis_obrazek. Toto je obecně považováno za lepší praxi, protože rowid může být přepsán při určitých operacích s tabulkou, například při přesunutí řádků nebo při vkládání řádků do středu tabulky. Klíče definované uživatelem (jako je id) jsou stabilnější a méně pravděpodobné, že se změní.
Tiskni
Sdílej: