duda relacionar tabla en base de datos

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

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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.

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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

como puedo agregar las llaves foraneas , dime como seria la conexion

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

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?

Mayo 20, 2019, 06:16:51 AM #5 Ultima modificación: Mayo 20, 2019, 06:34:20 AM por Kyxda
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
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.

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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta = No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
end

Saludos.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
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