2011-03-03 17 views
5

Estoy usando MySQL v5.0.45 y tratando de eliminar la enésima fila de una tabla, independientemente de su número de ID. He creado un prototipo en PHP antes de integrarlo en mi proyecto de desarrollo web en la que me juego hasta la siguiente en mi base de datos:Eliminando la enésima fila mysql

CREATE TABLE prototype_1 (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name varchar(30)); 

INSERT INTO prototype_1 (name) VALUES ('A'); 
INSERT INTO prototype_1 (name) VALUES ('B'); 
INSERT INTO prototype_1 (name) VALUES ('C'); 

lo suficientemente simple! Ahora he intentado usar 'límite' pero me sale el siguiente error:

"ERROR 1235 (42000): Esta versión de MySQL todavía no soporta 'LÍMITE EN &/ALL/ANY/SOME subconsulta'"

Ahora entiendo que no puede usar LIMIT en las subconsultas, sin embargo, ¿no hay algún tipo de problema?

puedo seleccionar la fila n y mostrarlo adecuadamente con lo siguiente:

SELECT * FROM prototype_1 LIMIT 1,1; 

Así regresar 'B' pero ¿por qué no puedo eliminar !?

+0

¿Qué quiere decir "con independencia de su número de identificación"? –

Respuesta

3

necesita un poco de truco como este

delete from prototype_1 where id = (select id from (select id from prototype_1 order by id limit 1,1) as t) 
+0

No pude encontrar mucha documentación sobre cómo solucionar este problema y ¡esto funcionó a la perfección! Muchas gracias! : D – Riyan

+0

De nada. :) –

+0

¡Maravilloso, simplemente maravilloso! Lo único que solicitaría es que deletree en su respuesta que 'prototype_1' es el nombre de la tabla, y' t' es la fila "nth" en la tabla. –

Cuestiones relacionadas