Autor Zpráva
Vanama
Profil
Zdravím,
mám dotaz:

UPDATE profiles SET city = "", country = "CA", region = "" WHERE location LIKE "Canada"

Po spuštění tohoto dotazu se zaktualizuje několik desítek (číslo je pokaždé jiné) řádků, ale nikdy se nezaktualizujou všechny řádky, které mají shodný location.

Pokud místo LIKE dám =, tak to aktualizuje pouze po jednom řádku.

Pro kontrolu, že se aktualizuje vše mám dotaz

SELECT count(*) FROM profiles WHERE location LIKE "Canada" AND country IS NULL


Nevíte někdo proč se to nezaktualizuje vše? Kde by mohla být chyba? Tabulka je MyIsam, na location je key

Díky
Taps
Profil
Vanama:
a přes klasické where není aktualizace možná ?
UPDATE profiles SET city = "", country = "CA", region = "" WHERE location="Canada"
Vanama
Profil
Bohužel :(
Kajman
Profil
Nemáte tam nějaký další unikátní index? Je něco ve výpisu chyby či ve výpisu varování? Dělá to samé i na jiném stroji?
Vanama
Profil
Měl jsem tam index na country, ale ne unikátní. Ten jsem odstranil, ale nepomohlo to. Ostatní indexy nejsou v dotazu volány.
Mám tam primární index na id a unikátní index na jiný id.

Dělá to jak z PHP skriptu, tak i z MySQL klienta (HeidiSQL). Chyby nevypisuje ani PHP skript ani Heidi


Tak jsem ještě odstranil index na location a to pomohlo. Asi tedy byl nějak pokažený index nebo nevím.

Díky všem za reakce

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: