Foros del Web » Programando para Internet » PHP »

Insertar valor automáticamente en tabla secundaria

Estas en el tema de Insertar valor automáticamente en tabla secundaria en el foro de PHP en Foros del Web. Hola buen dia, mi duda es la siguiente Tengo las siguientes tablas TABLA1 id------- autoincrement, primary key cliente fecha TABLA-RELACION id------- foreing key articulo cantidad ...
  #1 (permalink)  
Antiguo 04/08/2016, 16:43
 
Fecha de Ingreso: noviembre-2015
Mensajes: 29
Antigüedad: 8 años, 5 meses
Puntos: 0
Insertar valor automáticamente en tabla secundaria

Hola buen dia, mi duda es la siguiente

Tengo las siguientes tablas

TABLA1
id------- autoincrement, primary key
cliente
fecha


TABLA-RELACION
id------- foreing key
articulo
cantidad

Para relacionar la TABLA1 con TABLA-RELACION uso el id de la TABLA1 en TABLA-RELACION. Lo que quiero es tener el mismo id en ambas tablas para que esten relacionadas correctamente, tomando en cuenta que podrian insertar campos 2 personas el mismo tiempo.

Pense que especificando el id como foreing key en TABLA-RELACION automaticamente se insertaba cuando insertaba valores en TABLA1 pero veo que no.

Como podria hacerlo, ya sea que se inserte automaticamente el mismo valor en ambas tablas o algun metodo que sugieran?

Gracias por su atencion
  #2 (permalink)  
Antiguo 07/08/2016, 08:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Insertar valor automáticamente en tabla secundaria

No entiendo ¿no consideras que más bien tu problema es de SQL y debiste publicar en el foro de base de datos?

¿O exactamente qué tiene que ver tu problema con el foro de PHP?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/08/2016, 08:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Insertar valor automáticamente en tabla secundaria

Cita:
Iniciado por cdmarco92 Ver Mensaje
Hola buen dia, mi duda es la siguiente

Tengo las siguientes tablas

TABLA1
id------- autoincrement, primary key
cliente
fecha


TABLA-RELACION
id------- foreing key
articulo
cantidad

Para relacionar la TABLA1 con TABLA-RELACION uso el id de la TABLA1 en TABLA-RELACION. Lo que quiero es tener el mismo id en ambas tablas para que esten relacionadas correctamente, tomando en cuenta que podrian insertar campos 2 personas el mismo tiempo.

Pense que especificando el id como foreing key en TABLA-RELACION automaticamente se insertaba cuando insertaba valores en TABLA1 pero veo que no.

Como podria hacerlo, ya sea que se inserte automaticamente el mismo valor en ambas tablas o algun metodo que sugieran?

Gracias por su atencion
Permanentemente vienen a preguntar exactamente la MISMA cosa, y siempre hay que explicarles lo mismo: No existen operaciones automágicas en BBDD o SQL. El sentido de una FK no es que se generen registros en otra tabla como creados por artes mágicas. La idea de una FK es proteger la integridad referencial entre las entidades. La existencia de tales claves evita que haya errores de programación que puedan causar ese tipo de cosas. En tu caso, ya se ha explicado infinidad de veces, y lo mismo encontrarás en cualquier tutorial básico:
Paso 1: Insertas en la tabla padre.
Paso 2: Recuperas el ID generado de a tabla padre (hay funciones especificas en cada lenguaje para ello).
Paso 3: Agregas ese valor recuperado en el segundo insert a la segunda tabla, en la posición correspondiente al valor de la FK.

NO HAY otra forma de hacerlo, y así se hace en todos los sistemas, INCLUYENDO el uso de triggers, que no son necesarios para este tipo de cosas.

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 08/08/2016, 11:28
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Insertar valor automáticamente en tabla secundaria

Cita:
TABLA1
id------- autoincrement, primary key
cliente
fecha


TABLA-RELACION
id------- foreing key
articulo
cantidad
Solo añadir a lo ya comentado que todas las tablas deben tener un PK (primary key) independientemente de contenga claves foráneas o no.
Como identificarias un registro de forma única e inequívoca si careces de un PK y existen varios registros con la misma clave foránea?
__________________
Unset($vida['malRollo']);

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:31.