Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

insertar clave foranea en tabla relacionada

Estas en el tema de insertar clave foranea en tabla relacionada en el foro de Bases de Datos General en Foros del Web. Tengo 2 tablas relacionadas (ALUMNO con PK(clave_alumno) y MATERIAS con FK(clave_alumno)), la cuestion es: En un formulario capturo la inf. para la T de ALUMNOS, ...
  #1 (permalink)  
Antiguo 01/01/2005, 20:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 82
Antigüedad: 20 años, 1 mes
Puntos: 1
insertar clave foranea en tabla relacionada

Tengo 2 tablas relacionadas (ALUMNO con PK(clave_alumno) y MATERIAS con FK(clave_alumno)), la cuestion es:

En un formulario capturo la inf. para la T de ALUMNOS, y en otro formulario
capturo la inf. para la T de MATERIAS; en esta T de MATERIAS tengo que meter la clave
del alumno ya que esta relacionada con la T de ALUMNOS, logicamente la clave del alumno
solo la capturo 1 sola vez y la jalo para meterla en la T de MATERIAS, quisiera saber como
puedo conseguir este proposito, les cuento lo q hacia antes:

En la T de ALUMNOS tenia como la PK un campo AUTOINCREMENT y cada q capturaba un ALUMNO
la clave AUTOINCREMENT aumentaba en 1, cuado pasaba a la captura del siguiente formulario
el de MATERIAS hacia una consulta para obtener el ultimo AUTOINCREMENT(la ultima clave que
se inserto) y apartir de este AUTOINCREMENT obtenia la clave del ALUMNO y la metia en MATERIAS

if(!($cursor = mysql_query("select max(clave_alumno) from alumno",$link))) die(mysql_error()."Error");
$clave_alumno=mysql_result($cursor,0,0);

ahora tengo q manejar como PK la CURP del ALUMNO, con lo q se descarta la posibilidad de lo
anterior ya que la CURP no es entera, (AUNQUE = PUEDO DECLARAR UN CAMPO AUXILIAR entero
q me funja como AUTOINCREMENT q seria tipo UNIQUE y hacer lo mismo q les platico arriba)
pero esto no me serviria si consideramos q se pueden capturar 2 alumnos al mismo tiempo y
quizas uno de ellos obtendria la MAXIMA clave q NO le corresponda.

Me he quedado atorado con este problema y al parecer creo se puede resolver con SESIONES
(ni idea!!!) pero necesito asesoria de alguien que lo haya resuelto diferente a lo que
les he platicado (algun ejemplo será bienvenido).

PK= CLAVE PRIMARIA && FK= CLAVE FORANEA
Utilizo PHP y Mysql(u Oracle)

Última edición por pentiumonce; 01/01/2005 a las 20:47 Razón: error en el titulo
  #2 (permalink)  
Antiguo 01/01/2005, 23:14
 
Fecha de Ingreso: octubre-2004
Mensajes: 82
Antigüedad: 20 años, 1 mes
Puntos: 1
Parece que puede ser asi

ahora tengo 2 opciones:
1.- Declaro una variable tipo fecha, y realizo la consulta para obtener la ultima fecha recientemente insertada, con la cual puede obtener la PK que quiero.

2.- Encontre por la red esta sentncia que igual y funcione:
SELECT LAST(column) AS [expression]
FROM table
ejemplo
SELECT LAST(clave_alumno) AS highest_clave
FROM Alumno

como ven ?? alguna otra sugerencia
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 23:17.