Autor | Zpráva | ||
---|---|---|---|
one Profil |
#1 · Zasláno: 1. 7. 2007, 17:20:45
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 |
#2 · Zasláno: 1. 7. 2007, 17:43:23
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 |
#3 · Zasláno: 1. 7. 2007, 17:57:39 · Upravil/a: one
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é |
||
Časová prodleva: 17 let
|
0