Saltar al contenido
Underc0de /foro

duda relacionar tabla en base de datos

Iniciado por deth, Mayo 17, 2019, 04:36:06 PM

Tema anterior - Siguiente tema

0 Miembros y 0 Visitantes están viendo este tema.

Avatar de deth

hola amigos tengo una base de datos "bd1" con 2 tablas una llamada "tabla1" ya la otra "tabla2"

"tabla 1" tiene los siguientes campos:

id -> int (11) -> autoincrement
userid -> int(11)
nombre -> varchar(20)
direccion -> varchar(20)

y en "tabla2" tengo los siguientes campos:

userid -> int(11)
nombre -> varchar(20)
direccion -> varchar(20)

ahora yo lo que quiero es que cuando ingrese el "userid" en la "tabla1" ejemplo 1 me salga el nombre y direccion automaticamente de lo que esta grabado en la "tabla2" en la 1, como podría hacerlo desde phpmyadmin, muchas gracias de antemano.
WhatsApp Telegram

8 respuestas

Avatar de DeBobiPro
No sé si eso se pueda hacer desde PhpMyAdmin, creo que es más lógica de programación.

Desde php podrías hacer esa búsqueda y completar los campos al seleccionar un ID.

De todas formas, si utilizas llaves foraneas (relacionando tus tablas), podrás identificar inmediatamente los valores de tu tabla 2 cuando ingreses un valor (foraneo existente) en tu tabla 1.


Saludos!
Nivel 77 Los enlaces son solo para miembros. Registrate o iniciá sesión

Avatar de deth
como puedo agregar las llaves foraneas , dime como seria la conexion

Avatar de Kyxda
Al igual que añades las claves primarias al crear la tabla, podrás hacer :
CONSTRAINT tabla1_fk FOREIGN KEY (id)
REFERENCES tabla2 (userid)

Avatar de deth
Mayo 19, 2019, 02:35:06 PM #4 Ultima modificación: Mayo 19, 2019, 02:37:18 PM por deth
ya lo hice pero el problema es que me muestra todos los datos (userid,nombre, direccion) en el campo userid y yo lo que quiero es que me los coloque en sus respectivos campos osea al poner el userid me autorrellene los demas campos con el nombre y direccion que corresponden a ese userid no toda esa informacion en el userid, como podría hacerlo?

Avatar de Kyxda
Mayo 20, 2019, 06:16:51 AM #5 Ultima modificación: Mayo 20, 2019, 06:34:20 AM por Kyxda
Cita de: deth en Mayo 19, 2019, 02:35:06 PM
ya lo hice pero el problema es que me muestra todos los datos (userid,nombre, direccion) en el campo userid y yo lo que quiero es que me los coloque en sus respectivos campos osea al poner el userid me autorrellene los demas campos con el nombre y direccion que corresponden a ese userid no toda esa informacion en el userid, como podría hacerlo?

En esto no estoy seguro, pero creo que si creas una clave foranea juntando todo lo que necesitas funcionaria como quieres.

CONSTRAINT tabla1_fk FOREIGN KEY (userid,nombre,direccion)
REFERENCES tabla2 (userid,nombre,direccion)

De esta forma no debería dejar introducir datos que no pertenezcan al userid que elijas.

Avatar de chosen
Hola como estás?
Entiendo que tenes dos caminos, uno hacerlo desde la aplicación, es decir cuando generas el nuevo ID hacer un iupdate con el select de la tabla2.

La otra opción que se me ocurre es crear un trigger en la DB, te deberia quedar algo asi.

CREATE TRIGGER nuevo_ID
AFTER INSERT ON tabla1 FOR EACH ROW
BEGIN
UPDATE tabla1
SET tabla1.direccion = tabla2.direccion , etc, etc
FROM tabla2
WHERE tabla1.id = tabla2.id
end

Saludos.

Avatar de deth
Cita de: Kyxda en Mayo 20, 2019, 06:16:51 AM
Cita de: deth en Mayo 19, 2019, 02:35:06 PM
ya lo hice pero el problema es que me muestra todos los datos (userid,nombre, direccion) en el campo userid y yo lo que quiero es que me los coloque en sus respectivos campos osea al poner el userid me autorrellene los demas campos con el nombre y direccion que corresponden a ese userid no toda esa informacion en el userid, como podría hacerlo?

En esto no estoy seguro, pero creo que si creas una clave foranea juntando todo lo que necesitas funcionaria como quieres.

CONSTRAINT tabla1_fk FOREIGN KEY (userid,nombre,direccion)
REFERENCES tabla2 (userid,nombre,direccion)

De esta forma no debería dejar introducir datos que no pertenezcan al userid que elijas.

eso no es lo que quiero porque de esa manera me confundiria los userid con otro nombre y direccion osea podria elegir el que quiera en los campos y asi no es, yo lo que quiero es colocar el userid y me autorellene en cada campo correspondiente el nombre y direccion al cual pertenece y que no deje modificarlo

Avatar de rommel360
al final ya no entendí  ;D ;D ;D ;D

¿Te quedó una duda sobre Dudas y pedidos generales?

Preguntala y te responde la comunidad (y el asistente Underc0de IA si nadie llega antes). Es gratis y tarda un minuto.

Ya tengo cuenta
Guardamos tu pregunta en este navegador: después de entrar la publicás con un clic.
Grupo de WhatsApp