Mettiamo che io voglia fare queste due query
str_sql = "UPDATE tabella SET valore = '2' WHERE id = 8"
str_sql_2 = "UPDATE tabella SET valore = '4' WHERE id = 12"
Non posso unire le due query un una sola? Sul mio host ho query limitate al database!
Mettiamo che io voglia fare queste due query
str_sql = "UPDATE tabella SET valore = '2' WHERE id = 8"
str_sql_2 = "UPDATE tabella SET valore = '4' WHERE id = 12"
Non posso unire le due query un una sola? Sul mio host ho query limitate al database!
Non penso sia impossibile da fare ...Originariamente inviato da filippo.toso
Cambia host.
E poi, anche se si hanno query illimitate, è sempre meglio farne il meno possibile per non sovraccaricare il db.
si può fare abb. tranquillamente
UPDATE tabella SET valore = IF(id = 8, '2', '4') WHERE id IN (8, 12)
(non ricordo se è IF o IIF a dire la verità ma la sintassi dovrebbe andare)
ovviamente se hai TROPPI elementi (sopra il centinaio) non so fino a che punto convenga perché avresti una query un pò confusa ...
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Favoloso! Funziona con IF.Originariamente inviato da daniele_dll
si può fare abb. tranquillamente
UPDATE tabella SET valore = IF(id = 8, '2', '4') WHERE id IN (8, 12)
(non ricordo se è IF o IIF a dire la verità ma la sintassi dovrebbe andare)
ovviamente se hai TROPPI elementi (sopra il centinaio) non so fino a che punto convenga perché avresti una query un pò confusa ...
Non ho però capito la struttura logica: perchè devo porre nella condizione if id = 8?
Puoi anche fare il contrario
if (id=12, '4', '2')
come ti ha detto luca puoi anche invertire ... perché il primo elemento è la condizione che se VERA (TRUE) restituisce il primo elemento altrimenti se FALSA (FALSE) restituisce il secondo elementoOriginariamente inviato da !!\Freedom9/!!
Favoloso! Funziona con IF.
Non ho però capito la struttura logica: perchè devo porre nella condizione if id = 8?
Puoi anche concatenare gli IF!
se ad esempio ai bisogno di assegnare all'id 1 il valore 10, all'id 2 il valore 20 e all'id 3 il valore 30 puoi fare un IF del tipo
UPDATE ... SET valore IF (id = 1, 10, IF(id = 2, 20, 30)) WHERE id IN (1, 2, 3);
Ovviamente una query del genere è bene che sia generata dal software in modo da evitare possibili (e soprattutto strani problemi!)
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand