ciao a tutti,
ho un problema:
come faccio a cancellare dei dati che stanno oltre un certo numero di record?
Ovvero il problema è:
visualizzami i più recenti 15 record e cancellami tutti gli altri dove l'utente è Caio.
ciao a tutti,
ho un problema:
come faccio a cancellare dei dati che stanno oltre un certo numero di record?
Ovvero il problema è:
visualizzami i più recenti 15 record e cancellami tutti gli altri dove l'utente è Caio.
Flash Developer for Rich Media
PHP, jQuery Developer
Credo che ti servano due query. Con la prima recuperi il numero totale di record in cui l'utente è caio.
Una volta fatto questo fai: $numero_record - 15 = tot
e poi cancelli
delete from tabella where nome = "caio" limit tot;
è possibile fare un limit al DELETE? questo non lo sapevo
e come faccio a essere sicuro che mi cancella quelli con id più basso?
Flash Developer for Rich Media
PHP, jQuery Developer
Sì, puoi applicare il limit anche al delete.Originariamente inviato da Miroku
è possibile fare un limit al DELETE? questo non lo sapevo
e come faccio a essere sicuro che mi cancella quelli con id più basso?
Per la seconda domanda cancella quelli con l'id più basso se non specifichi l'ordinamento e quindi li considera in ordine crescente. Se specifichi nel delete l'ordinamento decrescente allora cancella quelli con l'id più alto.
Provare per credere (fatti prima un backup comunque e sperimenta).
Non voglio averti sulla coscienza.![]()
quello che avevo pensato infatti =D(fatti prima un backup comunque e sperimenta).
Flash Developer for Rich Media
PHP, jQuery Developer
ha funzionato?Originariamente inviato da Miroku
quello che avevo pensato infatti =D
non ho ancora provato.... lo farò quando avrò tempo e ti avviserò, ah, ma aspetta, puoi fare un order by anke nel delete?
Flash Developer for Rich Media
PHP, jQuery Developer
Sì, puoi fare l'ordinamento anche in query di cancellazione.![]()
beh ma scusa come è formata la tua chiave... non mi ispira molto fare una delete con limit (mio parere) se tu hai una chiave composta ad esempio da un identity potresti trovarti il record di confine e poi cancellare tutti quelli che hanno l'id più piccolo, in questo modo sai esattamente quello che cancelli e non vai a caso
Nel modo in cui mi ha detto nicola è perfetto.
Flash Developer for Rich Media
PHP, jQuery Developer