Autor Zpráva
one
Profil
Zdravim, myslel jsem, že sql celkem ovládám, ale teď jsem narazil na docela
banální problém a ani po přečtení nějakých manuálů z toho nejsem moc moudrý.

potřebuji upravit položku "polozka1" v tabulce se jménem "table1" kde se
"polozka2" v "table2" rovná tomu co uživatel zadal do pole při registraci.

Aby jste to lépe pochopili, uvedu zde sql, který nefunguje:

UPDATE `table1` SET `polozka1` = `polozka1` +500 WHERE table2.polozka2 =
'".$pole."';

A zarazilo mě to, že jsem narazil na ten způsob s "." jen u příkazu SELECT,
ale pokud toto nejde u příkazu UPDATE, jak to mám jinak vyřešit.

btw. sql hlásí: Unknown column 'table2.polozka2' in 'where clause'

edit: vim, že bych si mohlo udělat sql select id from table2 where polozka2=$pole
a potom pomocí sql_fetch_row získat id do proměnné $id, které je v table1. Takže
by sql už potom vypadalo následovně: update table1 set polozka1=polozka +500
where id=$id;

ale chtěl jsem to trochu jednodušší, takže také by jste mi doporučili toto
řešení nebo jde nějak doladit ten původní dotaz?

dík
Casero
Profil
one
Vždyt to je blbost ne, jak má db vědět, který řádek chceš změnit?... vždyt překlad tvého updatu je -> změn položku1 z tabulky1 o 500 TAM, kde je v tabulce2 a položce 2 něco....ale TAM není v tabulce 1
one
Profil
No, omlouvám se, špatně jsem pochopil dotazy podobného typu. Takže mi zbývá to moje druhé řešení, nebo by jste mi doporučili něco jiného?

edit: už to mám hotové

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:

0