Hromadný update mysql...
Ahoj, v databázi mám tabulku user, kde mám vedené uživatele a teď jich tam je už něco přes 3000. Právě jsem do té tabulky přidal jeden sloupec (CODE) a teď bych všem uživatelům potřeboval ten code vygenerovat (v php).
Nedalo by se to udělat nějak jedním update dotazem? Napadlo mě totiž, že bych si načetl z DB všechny ID uživatelů (např. do pole) a k nim pak v cyklu vygeneroval ty kódy (nezáleží mě, jaký kód kdo dostane). Ale pak jak to uložit do DB...Děkuji
Nějak takhle:
díky, toto umím, jenže to udělá tolik updatu, kolik je userů, tedy v mém případě to bude přes 3000 dotazů->updatů na databázi
Spíš jsem měl představu, že načtu všechny id uživatelů a vygneruji ty kody a pak bych udělal jeden update, kde bych dal:
update user set code = "xxx","yyy","zzz",... WHERE ID = 1,2,3,...
Ale nevím, zda to tak jde a jak to správně zapsat...
Pokud ty kódy budeš generovat v PHP tak stejně nejspíš nemáš jinou možnost. Kdyby jsi je generoval nějakou funkcí přímo na databázovém serveru, tak by to bylo lepší.
Samozrejme, že sa to dá. Nedávno som o tom čítal aj na slovenskej doméne.
Tu je príklad:
http://stackoverflow.com/questions/3432/multiple-u pdates-in-mysql
Ano, udělá.
Nebo:
jeden pro všechny stejný - code
Díky...bohužel kód je pro každého jiný...
Hmm, takže zbývá ten cyklus no...škoda
Máte představu, jak moc to DB zatíží?
3000 updatů není pro slušnou databázi vůbec nic.
Ani, prd.
A tu je to dokonca po česky:
http://php.vrana.cz/hromadna-aktualizace-zaznamu.p hp
To je super!