Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: deth en Mayo 17, 2019, 04:36:06 PM

Título: duda relacionar tabla en base de datos
Publicado por: deth en Mayo 17, 2019, 04:36:06 PM
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.
Título: Re:duda relacionar tabla en base de datos
Publicado por: DeBobiPro en Mayo 17, 2019, 05:11:18 PM
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!
Título: Re:duda relacionar tabla en base de datos
Publicado por: deth en Mayo 18, 2019, 04:57:02 PM
como puedo agregar las llaves foraneas , dime como seria la conexion
Título: Re:duda relacionar tabla en base de datos
Publicado por: Kyxda en Mayo 19, 2019, 06:52:01 AM
Al igual que añades las claves primarias al crear la tabla, podrás hacer :
CONSTRAINT tabla1_fk FOREIGN KEY (id)
REFERENCES tabla2 (userid)
Título: Re:duda relacionar tabla en base de datos
Publicado por: 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?
Título: Re:duda relacionar tabla en base de datos
Publicado por: Kyxda en Mayo 20, 2019, 06:16:51 AM
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.
Título: Re:duda relacionar tabla en base de datos
Publicado por: chosen en Mayo 20, 2019, 08:36:48 AM
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.
Título: Re:duda relacionar tabla en base de datos
Publicado por: deth en Mayo 20, 2019, 08:40:35 AM
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
Título: Re:duda relacionar tabla en base de datos
Publicado por: rommel360 en Mayo 20, 2019, 03:34:54 PM
al final ya no entendí  ;D ;D ;D ;D