delete che non va

ciao,

mi potete spiegare perchè se scrivo questa query su mysql

DELETE * FROM `track`LIMIT 300 ,30

mi da sempre errore...

io ho bisogno di canellare dal db gli id che vanno da 300 a 330.

 ???

 :bye:

 

inviato 10 anni fa
stellina
X 0 X

Riporta esattamente l'errore che ricevi

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM `track` LIMIT 300 , 30' at line 1

risposto 10 anni fa
stellina
X 0 X

DELETE FROM `track`LIMIT 300 ,30

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

incredibile mi da ancora errore

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '30' at line 1

risposto 10 anni fa
stellina
X 0 X

E' vero. Nella delete puoi specificare solo il massimo numero di righe da cancellare, non la loro posizione. Quindi puoi eseguire solo una DELETE FROM `track`LIMIT 30

Se devi cancellare delle righe in particolare ti conviene mettere una clausola WHERE che specifica un intervallo di ID dei record da eliminare:

DELETE FROM `track`WHERE id BETWEEN 300 AND 330

Ovviamente ho supposto che i record della tabella hanno un id numerico di tipo autoincrement

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

in effetti l'ultima soluzione funziona

 :D

 :bye:

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