Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: General Dmitry Vergadoski en 6 Octubre 2021, 01:39 am



Título: ayuda relacionar tablas
Publicado por: General Dmitry Vergadoski en 6 Octubre 2021, 01:39 am
hola a todos en mysql PHPmyadmin tengo una duda, tengo 2 tablas

la primera tabla los campos son:

id int 11 (llave primaria)
nombre varchar 20
edad int 3
dinero int 20

la segunda:

id int 11 (llave primaria)
edad int 3
dinero int 20

necesito que en la segunda tabla el campo edad este vinculado con el dinero (osea dependiendo de la edad sea el dinero a tener )

necesito que en la primera tabla cuando seleccione la edad (vinculada a la segunda tabla) me autocomplete el campo dinero

he intentado todo pero no he podido,

como puedo hacer eso ?

muchas gracias de antemano.





Título: Re: ayuda relacionar tablas
Publicado por: Drakaris en 14 Noviembre 2021, 15:25 pm
Aquí el campo dinero de la primera tabla sobra.
el campo edad debe ser un FK a la PK de la segunda tabla


-----------------------------------------
|     PRIMERA TABLA              |
-----------------------------------------
|  #* id  INT(11)                         |
|  *   nombre VARCHAR(20)     |
|  F* edad INT(3)                      |
|________________________|
                   \ | / (M)
                     |
                     |   (N)
-----------------------------------------
|     SEGUNDA TABLA              |
-----------------------------------------
|  #* id  INT(11)                         |
|    * edad INT(3)                       |
|    * dinero INT(20)                   |
------------------------------------------

Eso se hace con SQL. Creo que y lo más seguro es que PHPMyAdmin te permita hacer relaciones M:N por interfaz. El codigo sería

Código
  1. CREATE TABLE PRIMERA_TABLA (
  2.   id INT(11) NOT NULL AUTO_INCREMENT,
  3.   nombre VARCHAR(20) NOT NULL,
  4.   edad INT(3) NOT NULL,
  5.   CONSTRAINT PRIMERA_TABLA_PK PRIMARY KEY (id)
  6. );
  7.  
  8. CREATE TABLE SEGUNDA_TABLA (
  9.   id INT(11) NOT NULL AUTO_INCREMENT,
  10.   edad INT(3) NOT NULL,
  11.   dinero INT(20) NOT NULL,
  12.   CONSTRAINT SEGUNDA_TABLA_PK PRIMARY KEY (id)
  13. );
  14.  
  15. ALTER TABLE PRIMERA_TABLA ADD CONSTRAINT PRIMERA_TABLA_PK FOREIGN KEY (edad) REFERENCES SEGUNDA_TABLA(id);
  16.