Diskuze: Update sloupce když....
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Toto bych potreboval udelat primo v databazi v myadminu. Pokud by bylo potreba i php nebranim se
Ahoj, pokud jsem to správně pochopil, tak by měl fungovat tenhle dotaz:
UPDATE t1
SET t1.t_id = 1
FROM myTable AS t1
INNER JOIN myTable AS t2
ON t1.Text = t2.Text AND t2.t_id = 1
WHERE t1.t_id = 0
Ta where podmínka na konci by se dala eventuálně vypustit, ale s ní mi to
příjde takové čistší 
Ahoj, díky za pomoc.
Tvůj dotaz by asi i mohl fungovat, ovšem nepřelouská 140 tisíc
řádků.
Trvá mu to dlouho a nakonec spadne.
A na čem ti běží databáze? 140K řádků by mělo být naprosto bez problémů, pokud to je nějak rozumně oindexované. Nejsem si úplně jistý jestli tenhle dotaz jde ještě nějak výrazně optimalizovat.
Mysql, phpmyadmin, endora, asi bude problém s těmi indexi. Řekl bych že
nemám index ani na jednom.
Viz:
http://www.jpeg.cz/…15/2limU.png
Přímo ten tvůj dotaz
UPDATE t1
SET t1.`t_id` = '1'
FROM songs AS t1
INNER JOIN songs AS t2
ON t1.`Text` = t2.`Text` AND t2.`t_id` = '1'
WHERE t1.`t_id` = 0
mi píše
#1064 - You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'FROM songs AS
t1
INNER JOIN songs AS t2
ON t1.Text = t2.Text AND t2.t_id' at line
3
Já jsem ten dotaz testoval na MS SQL serveru, takže je možné že na MySQL bude trošku jiná syntaxe. S tím ti ale bohužel neporadím, s MySQL nepracuju. Ale bude to podle mě jen nějaká blbost, jakože ti třeba někde chyběj uvozovky (nebo jsou někde něco navíc) apod. Dotaz jako takový by měl být ok, to je čisté SQL které by mělo fungovat víceméně všude.
Ahoj, také přesně nerozumím zadání, ale povedlo se mi udělat toto...
UPDATE tabulka SET tabulka.t_id=0;
UPDATE tabulka SET tabulka.t_id=1-(SELECT COUNT(*) FROM tabulka AS `Foo` WHERE tabulka.Text = Foo.Text AND Foo.t_id=1 );
Nastaví to jedničku, pokud stejný řádek už nemá jedničku, jen si
změň název tabulky, protože jsem nevěděl, jak se ta tvoje jmenuje 
EDIT: Jedná se o dva dotazy odděleny středníky.
Zobrazeno 11 zpráv z 11.
