PDA

Ver la Versión Completa : campo autonumerico


pharaonhx
14-04-2005, 17:21:47
tengo el siguiente problema tengo dos tablas en mysql factura y detalle estas las lledo mediante una relacion maestro detalle y tengo la relacion mediante un campo NoFactura que es autonumerico de la tabla factura y el otro NoFactura en la tabla detalle el problema es que cuando agrego un nuevo registro el campo auto numerico se que da vacio y me da un error al grabar por que este campo n o puede estar vacio y no se que hacer.

roman
14-04-2005, 17:42:10
agrega primero la factura usa select last_insert_id() from facturas esto da el id autoinc asignado lo usas para llenar el otro.

// Saludos

pharaonhx
14-04-2005, 20:13:53
bueno roman si te explicas mejor creo que lo areglare no entiendo entiendo lo de insertar en factura primero pero lo otro no se donde usarlo te puedes explicarte mejor...con un ejemplito

roman
14-04-2005, 20:37:36
si te explicas mejor

No se entiende mucho ¿verdad? Como que escribi todo a renglón seguido, sin usar ningún signo de puntuación y sin detenerme mayormente a pensar si es entendible para los demás.

¿Te suena familar?

En fin, va una explicación más detallada.

Un registro en la tabla de detalles debe tener el valor del número de factura, pero éste no lo puedes saber sino hasta después de insertar la factura pues es el servidor quien lo asigna. Por ello es que conviene insertar la factura antes de sus detalles.

Para obtener el valor asignado al campo autonumérico luego de la inserción puedes utilizar la consulta:


select last_insert_id()


que te devolverá un único registro con un sólo campo: el valor asignado y es el que usas para llenar la llave foránea en la tabla de detalles.

// Saludos

pharaonhx
14-04-2005, 21:13:50
bueno gracias roman por aclarame la mente aunque me dio error como me lo indicaste pero me diste una idea para resolver el problema lo resolvi pirmero grabando y dandole un refresh y luego le asigne el valor como dijiste ...

ok gracias por tu tiempo