Autor Zpráva
Petr1
Profil *
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
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 *
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.

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