Forum » Programiranje » mysql vprasanje (update)
mysql vprasanje (update)
Jackx ::
Imam vprasanje v vezi update stavka na tabli.
Zakaj mi sledece ne deluje?
Uporabljam MYSQL 3.23.
V Tabla1 imam polje1 vrednosti od 1 do 100. Polje1 je primarni kljuc, stavek
update tabla1 set polje1=polje1+1 where polje>10;
pa povzroci napako(podvojeni kljuc - 11).
V dokumentaciji MYSQL-a pise, da bi zadeva mogla delovati, ce dopisem ORDER BY polje1 DESC, vendar to ne deluje.
Kaksen nasvet, kako naj problem resim brez programskega povecevanja vrednosti za 1 od zadnjega konca(pri zelo veliko vnosih bi bilo to zelo pocasno)?
V PARADOX-u to deluje brez problemov, MYSQL 4 pa ne pride v postev zaradi sesuvanja.
Zakaj mi sledece ne deluje?
Uporabljam MYSQL 3.23.
V Tabla1 imam polje1 vrednosti od 1 do 100. Polje1 je primarni kljuc, stavek
update tabla1 set polje1=polje1+1 where polje>10;
pa povzroci napako(podvojeni kljuc - 11).
V dokumentaciji MYSQL-a pise, da bi zadeva mogla delovati, ce dopisem ORDER BY polje1 DESC, vendar to ne deluje.
Kaksen nasvet, kako naj problem resim brez programskega povecevanja vrednosti za 1 od zadnjega konca(pri zelo veliko vnosih bi bilo to zelo pocasno)?
V PARADOX-u to deluje brez problemov, MYSQL 4 pa ne pride v postev zaradi sesuvanja.
darh ::
Jackx: Primary Key je UNIQUE, to pomeni, da vrednosti ne smejo biti podvojene...
v MySQL dokumentaciji piše da UPDATE funkcija ne podpira ORDER BY...
v MySQL dokumentaciji piše da UPDATE funkcija ne podpira ORDER BY...
The text refers to using ORDER BY but the syntax summary doesn't indicate it is valid nor does MySQL accept it (unless I tried it wrong): mysql> UPDATE mytable SET seqNum = IF(@count := @count + 1, @count, 0) ORDER BY seqNum ; ERROR 1064: You have an error in your SQL syntax near 'ORDER BY seqNum' at line 1
Excuses are useless! Results are priceless!
MitjaM. ::
Zakaj ti ne dela ti je lepo napisal Xbite, ena moznost kako narediti to kar hoces:
Naredi se eno isto tabelo brez primary keya pa skopiraj podatke iz prve tabele pa je... Pol pa dropnes original, pobrises podvojeni kljuc pa skopiras nazaj podatke v tabelo, ki jo naredis na novo z definicijo originalne tabele...
Naredi se eno isto tabelo brez primary keya pa skopiraj podatke iz prve tabele pa je... Pol pa dropnes original, pobrises podvojeni kljuc pa skopiras nazaj podatke v tabelo, ki jo naredis na novo z definicijo originalne tabele...
0oO0oO0oO0oO0oO0oO0oO
http://mitjam.4ever.cc
0oO0oO0oO0oO0oO0oO0oO
http://mitjam.4ever.cc
0oO0oO0oO0oO0oO0oO0oO
Jackx ::
Hvala vsem za odgovore...
Sem upal, da bo le kaksen "pomagu" s tem order by... upal sem da nekako dela... ceprav je bilo praktivno jasno da ne dela.. in da mogoce ne delam prav :)
Sem upal, da bo le kaksen "pomagu" s tem order by... upal sem da nekako dela... ceprav je bilo praktivno jasno da ne dela.. in da mogoce ne delam prav :)
MUC ::
polje 1 mors formulirat kot
polje1 int(6)
Če si dal polje1 varchar(6), pol ti nardi 11, ker mu daš ukaz naj doda string.
polje1 int(6)
Če si dal polje1 varchar(6), pol ti nardi 11, ker mu daš ukaz naj doda string.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | MySQL pomocOddelek: Izdelava spletišč | 1839 (1095) | slosi |
» | MYSQL vprašanjeOddelek: Programiranje | 1792 (1407) | MrBrdo |
» | SQL poizvedbaOddelek: Programiranje | 2164 (1674) | borchi |
» | mysql_queryOddelek: Programiranje | 1102 (1020) | darh |
» | MySQL združevanje tabel..Oddelek: Programiranje | 1711 (1526) | Nemenej |