Autor | Zpráva | ||
---|---|---|---|
spartan13 Profil |
#1 · Zasláno: 31. 7. 2011, 23:09:59
Dobrý den,
mám následující kód v mysql: UPDATE sazky SET body=(6) WHERE (id='2')AND(tip='3') // zde je vše v pořádku select round(sqrt( (select count(id) from sazky WHERE (id='2')) / (select count(id) from sazky WHERE (id='2')AND(tip='3')) )*10) // zde také, vrátí int ale při spojení: UPDATE sazky SET body=(select round(sqrt( (select count(id) from sazky WHERE (id='2')) / (select count(id) from sazky WHERE (id='2')AND(tip='3')) )*10)) WHERE (id='2')AND(tip='3') začne hlásit chybu (You can't specify target table 'sazky' for update in FROM clause) pokud tento kód rozložím na dva, a nejdříve do proměnné @x přiřadím hodnotu a následně provedu update, vše je v pořádku. Ovšem, když tento kód pošlu přes php (mysql_query) tak se příkaz nevykoná, přičemž když stejný skript spustím "manuálně" je vše v pořádku. |
||
Kajman_ Profil * |
#2 · Zasláno: 1. 8. 2011, 12:28:21
spartan13:
„Ovšem, když tento kód pošlu přes php (mysql_query) tak se příkaz nevykoná“ A používáte dva příkazy mysql_query? |
||
TomášK Profil |
#3 · Zasláno: 1. 8. 2011, 14:28:10
viz dokumentace: Currently, you cannot update a table and select from the same table in a subquery. - což vlastně říká i ta chybová hláška.
|
||
Časová prodleva: 13 let
|
0