Funzione limit con delete

ciao raga.

SE metto:

DELETE from mess_scorrevoli ORDER BY id asc LIMIT 2,1

Mi va in errore,  Posso mettere solo LIMIT 2.  Se metto anche ,1 mi si va in errore.

Io volevo solo eliminare un record, dopo il secondo, me come faccio?

inviato 9 anni fa
pazzomania
X 0 X

ORDER BY e LIMIT sono comandi che puoi inserire solo nelle SELECT.

La cosa migliore è che trovi un buon tutorial per conoscere meglio SQL. google -> "tutorial sql"

per il tuo caso, puoi eliminare la riga con id = MAX(id)-1 - ammesso che i numeri siano consecutivi.

http://www.techonthenet.com/sql/max.php ti fa vedere come selezionare l'id più alto in una query annidata.

 :bye:

risposto 9 anni fa
robertomigli
X 0 X

order by e limit si possono usare con delete solo se, come in questo caso, si utilizza una singola tabella.

limit però per questa istruzione accetta solo un parametro che è il numero di righe da eliminare e non come nella select 2 parametri che indicano da dove iniziare e quante righe.

12.2.1. DELETE Syntax

Single-table syntax:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name

    [WHERE where_condition]

    [ORDER BY ...]

    [LIMIT row_count]

risposto 9 anni fa
LonelyWolf
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda