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

foreign key

Estas en el tema de foreign key en el foro de Mysql en Foros del Web. Hola de nuevo! tengo un problema al cruzar tablas... a ver si pueden ayudarme a resolverlo... supongo que si pues soy principiante en esto. Estoy ...
  #1 (permalink)  
Antiguo 20/06/2007, 11:33
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
foreign key

Hola de nuevo!

tengo un problema al cruzar tablas... a ver si pueden ayudarme a resolverlo... supongo que si pues soy principiante en esto.

Estoy creando una tabla:

Código PHP:
$tabla_newDoc="CREATE TABLE $newDoc (";
$tabla_newDoc.="id BIGINT(10) UNSIGNED NOT NULL AUTO_INCREMENT, ";
$tabla_newDoc.="userid BIGINT(10) UNSIGNED NOT NULL, ";
$tabla_newDoc.="nombre_autor VARCHAR(100) not null, ";
$tabla_newDoc.="apellido1 VARCHAR(100) not null, ";
$tabla_newDoc.="apellido2 VARCHAR(100) not null, ";
$tabla_newDoc.="email VARCHAR(100), ";
$tabla_newDoc.="PRIMARY KEY (id),
    INDEX (userid), 
       FOREIGN KEY (userid) REFERENCES usuarios (userid))"

Lo que quiero es que el campo userid lo tome de otra tabla llamada usuarios.
La tabla newDoc la genera, y el campo userid tambien.
El problema esta en que el campo userid no le rellena con el contenido de la tabla usuarios, si no que me rellena todo con ceros.

Quizas tenga algo que ver que la tabla usuarios no la he creado yo, si no que estaba ya creada y solo la veo por phpmyadmin.

Y estoy programando en php y creando desde ahi las tablas, y pretendo cruzar estas dos, no se si utilizo bien la clave foranea.

Gracias por la ayuda
  #2 (permalink)  
Antiguo 20/06/2007, 11:40
 
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: foreign key

Se me olvido poneros que cuando voy a rellenar los registros escribo una sentencia tal que asi:

Código PHP:
mysql_query("INSERT $newDoc (nombre_autor, apellido1, apellido2, email) VALUES ('$nombre_autor', '$apellido1', '$apellido2', '$email')",$conexion); 
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 22:26.