| 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 |
#2 · Zasláno: 25. 3. 2012, 22:22:42
Vanama:
a přes klasické where není aktualizace možná ? UPDATE profiles SET city = "", country = "CA", region = "" WHERE location="Canada" |
||
| Vanama Profil |
#3 · Zasláno: 25. 3. 2012, 22:58:18
Bohužel :(
|
||
| Kajman Profil |
#4 · Zasláno: 26. 3. 2012, 08:48:03
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 |
#5 · Zasláno: 26. 3. 2012, 09:40:21 · Upravil/a: Vanama
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 |
||
|
Časová prodleva: 14 let
|
|||
0