Hola, el problema que tengo es el siguiente. Tengo una tabla de pedidos y necesito que al ingresar uno pueda saber el valor del proximo pedido_id, que seria el campo autoincremental.
Como hago esto? se puede?
| |||
Re: proximo id Me parece que hay un problema con ese codigo. Si tengo, por ejemplo, 5 registros: 1 - Pedro 2 - Juan 3 - Alberto 4 - Matias 5 - Tito Ese codigo funciona bien, devuelve 6.. pero que pasa si ahora yo borro los dos ultimos? 1 - Pedro 2 - Juan 3 - Alberto Devuelve 4, que no es correcto... pues mysql conserva el valor del id mas alto que tuvo aunque se haya eliminado, y utiliza el siguiente, en este caso 6. Nunca lo use y no estoy seguro si funciona antes del INSERT, pero creo que la salida esta en LAST_INSERT_ID + 1 "SELECT LAST_INSERT_ID()+1 AS proximo_id FROM tabla" Saludos. Última edición por Fridureiks; 15/02/2007 a las 11:43 |
| ||||
Re: proximo id GatorV pero si se borra el ultimo va a ser erroneo el resultado todo depende de la naturaleza de la tabla... en realidad no deberia necesitar saber el ID si se va a hacer un INSERT es decir... INSERT INTO tabla VALUES ( NULL, campo_1 , ..., campo_n) donde null es el id |
| ||||
Re: proximo id Pero no hay problema con que reutilize claves que ya haya borrado, de hecho es mejor, bueno depende de su problema, pero si reutiliza claves es mas productiva su tabla. |
| |||
Re: proximo id Cita: Pero en este caso tiene un campo autoincremental, es decir que no es el quien asigna los ids, sino mysql... ahi su problema y el por que de mi comentario. Cita: Creo que por ahi van los tiros jeje :DSaludos. |
| ||||
Re: proximo id Antes que nada, muchisimas gracias a todos, el problema radica en numerar los proximos pedidos que se ingresen al sistema. Por eso el panorama seria como lo describe Fridureiks.- Si borran alguno, el id sigue con el ultimo que se inserto. Ustedes dicen que la solucion esta en show table ? Con algun ejemplo? |
| |||
Re: proximo id |
| ||||
Re: proximo id Lo podrias hacer asi: Código PHP: |
| ||||
Re: proximo id Si tu aplicación no va a soportar usuarios concurrentes, es posible que las soluciones planteadas sean las adecuadas (ninguna asegura que no existan huecos), caso contrario vas a tener un problema. No imagino porque quieres tener el id antes de hacer la inserción, si indicas que es lo quieres hacer a lo mejor podemos sugerirte algo más adecuado... Saludos |
| ||||
Re: proximo id xknown, los pedidos se reciben y se entregan con un codigo de pedido, pero se procesan luego. la idea es asignarlos en base al ultimo id de la tabla y luego se archivan en orden para que con¡incidan los id al ingresarlos. Se entiende mas o menos? y mil gracias GgatorV por la ayuda |
| |||
Re: proximo id Cita: La de GatorV es la más adecuada, sin dudas.Este tipo de consultas son muy utiles a la hora de referenciarse a un último registro, ya sea para crear directorios con ese nombre, mostrar un número de referencia antes de haber insertado el formulario, etc. No conozco ningún otro método mejor y más sencillo. |