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!
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)
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?
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 tabla1.id = tabla2.id
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
al final ya no entendí ;D ;D ;D ;D