Autor | Zpráva | ||
---|---|---|---|
Petr1 Profil * |
#1 · Zasláno: 5. 12. 2012, 23:45:03
Zdravím,
mám jednu otázku, lze nějakým způsobem použít cyklus fot přímo uvnitř dotazu SQL? Příklad: Vkládám teoreticky do tabulky, kde mam 50 řádků od polozka_1 do polozka_50 Jde to prohnat skrze for cyklus? Nebo je nějaké jiné řešení? Díky |
||
dakur Profil |
Petr1:
Řešením je např. udělat cyklus for v PHP, kdy se v každé iteraci provede SQL příkaz INSERT s příslušným číslem řádku. Tedy něco jako: for($i = 1; $i <= 50; $i++){ mysql_query("INSERT INTO (`id`, `neco`) VALUES(" . (int) $i . ", 'neco')"); } |
||
Tori Profil |
#3 · Zasláno: 6. 12. 2012, 00:53:20
Anebo si v cyklu poskládat jeden dotaz, a ten pak provést. Čím víc řádků, tím rychlejší to bude oproti předchozímu řešení.
|
||
Petr1 Profil * |
#4 · Zasláno: 6. 12. 2012, 01:06:33
dakur:
Právě, že tomuto ksem se chtěl vyvarovat.... Tori: Neměl byste v rukávu nějaký příklad, nebo jak to hledat na Googlu? Neumím si pod tím nic moc představit... ono je to tedy ještě komplikovanější s tím, že tam jsou položky, které nejsou v cyklu. Příklad: budu zadávat položky např. faktur, zadám odběratele, dodavatele a 50 řádků s položkami (dph, cena a asi nějaký popis). |
||
Tori Profil |
Petr1:
„Příklad: budu zadávat položky např. faktur, zadám odběratele, dodavatele a 50 řádků s položkami“ Tak zrovna pro tento příklad by těch 50 řádků patřilo do jedné tabulky, faktura do jiné, a odběratel do třetí. Vkládání více řádků najednou nebo tady: MySQL: Vícenásobný insert pomocí SET , přebytečná čárka (a mezera) na konci dotazu se dá odstranit funkcí rtrim. |
||
Časová prodleva: 12 let
|
0