Estoy teniendo problemas con esta función que siempre me trae como resultado el valor 0.
¿Alguna idea de lo que puede estar pasando?
Gracias.
| ||||
Respuesta: MYSQL - last_insert_id Mira aca el comportamiento de la función http://c.conclase.net/mysql/index.ph...LAST_INSERT_ID siempre te da 0, por que esta función tiene como objetivo, recoger la secuencia auto-increment de una tabla que acaba de ser insertada. Por ejemplo:
Código mysql:
Ver original Fijate cuando se inserta en la tabla, y el registro no es asignado automaticamente por el campo auto_increment, la función no tiene efecto. pero cuando se inserta automaticamente el campo auto_increment, la función last_insert_id funciona bien. En teoría ese es el problema que se te presenta. Un saludo
__________________ Without data, You are another person with an opinion. W. Edwads Deming |
| ||||
Respuesta: MYSQL - last_insert_id Estoy haciendo la inserción como tiene que ser, y me trae 0, por eso mi pregunta. Para hacerlo simple, un ejemplo de lo que me pasa: -------------------------------------------------------------------- Tabla pais: -------------------------------------------------------------------- id autonumérico integer--------------------------------------------------------------------
Código SQL:
Ver original Eso ahí me trae 0. |
| ||||
Respuesta: MYSQL - last_insert_id Nunca he confiado mucho en esta función, sin embargo mira esto http://www.bigresource.com/MYSQL-How...-YaNqYJov.html Puede servirte.
__________________ Without data, You are another person with an opinion. W. Edwads Deming |
| ||||
Respuesta: MYSQL - last_insert_id No puedo hacerlo de esa manera porque el sistema que estoy trabajando va a tener una cantidad de usuarios importante y todos van a poder escribir las tablas simultáneamente, y para tablas que dan soporte a clases que heredan de otras necesito sí o sí no perder esa referencia a la clase padre, y esto como trabaja por sesión viene bárbaro. MySQL Query usa una conexión distinta para ejecución de sentencias varias, las separa digamos. Lo de PHP lo acabo de resolver, entre tantos campos de la inserción se me había desfasado uno, pequeño y estúpido error. Agradezco por vuestro tiempo. |
| |||
Creo tenerte una posible solución Recién calientita porque la acabé de encontrar Por ejemplo si trabajas en PHP, hay una función bastante útil ejemplo Si ejecutas tu query suponiendo que $conexion ya está configurado con tu conexion a la BD tenemos; // Corremos la inserción $query = "INSERT INTO `tabla` (nombre,blabla) VALUES ('$nombre','$blabla')"; $result = mysql_query($query, $conexion); //Ahora obtenemos el último id $id_tabla = mysql_insert_id($dbConn); Waala!! espero te sirva. |