Foros del Web » Programando para Internet » PHP »

Duda MySQL

Estas en el tema de Duda MySQL en el foro de PHP en Foros del Web. Es posible realizar conexiones entre campos de tablas en MySQL. Si hay como sería?...
  #1 (permalink)  
Antiguo 14/02/2003, 22:24
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Duda MySQL

Es posible realizar conexiones entre campos de tablas en MySQL. Si hay como sería?
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 14/02/2003, 23:03
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 15 años, 7 meses
Puntos: 0
No entiendo a que te refieres con "realizar conexiones entre campos de tablas". Trata de explicarte mejor o mejor aun, dinos lo que deseas hacer para que veamos si es posible ayudar.
Saludos ;)
__________________
  #3 (permalink)  
Antiguo 14/02/2003, 23:14
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Aclaracion

Es decir las relaciones entre tablas tal como se hace en access
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 15/02/2003, 07:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si nos ceñimos a la prengunta textualmente como "Tablas" .. la forma de acceder a varias tablas para hacer consultas en Mysql (y en acces SQL tambien) es:

tabla.campo

ejemplo:

SELECT tabla1.campoA,tabla2.campoA FROM tabla1,tabla2

Recuerda que tienes el foro de Base de datos y el manual de Mysql .. si tienes dudas de ese tipo seria recomendable que Empezases por leer detenidamente el manual de Mysql (www.mysql.com si tienes problemas con el SQL particular de Msyql ..)

Un saludo,
  #5 (permalink)  
Antiguo 15/02/2003, 15:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Pregunta en el foro de Base de datos. Pero si a lo que te refieres es si Mysql soporta claves foraneas, para las versiones 3.x la respuesta es no. En la version 4 no lo se. Pregunta en el foro de base de datos o revisa www.mysql.com

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 15/02/2003, 15:45
Avatar de BVis  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 104
Antigüedad: 15 años
Puntos: 0
Lo de las claves "foraneas" (o externas), de 'foreign keys' solo vale para mantener de forma automática la consistencia entre los regostros relacionados al modificar un valor en una de las tablas, así tenemos tres políticas: NULLIFIES, RESTRICTED y CASCADED.

CASCADED: Si borramos un registro de una tabla, cuya clave primaria sea clave externa en otra, en la tabla con clave esa externa también se borra.

RESTRICTED: NO se pueden borrar registros cuya clave primaria esté usándose en otra tabla, como clave externa.

NULLIFIES: Si se borra un registro cuya clave primaria está declarada como clave externa en otra tabla, el valor de la clave externa se pasa a NULL.


Para otra cosa no valen! Así que en MySQL estos casos se han de tener en cuenta y "programar a mano". Nada más.

Para hacer consultas entre diferentes tablas, lo único a tener en cuenta: Emplear un campo común entre ambas tablas y asegurarnos que tienen el mismo valor.

SELECT tabla1.*, tabla2.* FROM tabla1, tabla2 WHERE tabla1.campo1=tabla2.campo1

Si obviamos la restricción que implica el WHERE, se realiza el llamado 'producto vectorial'. Es decir, combina todos los registros de la 'tabla1' con todos los de la 'tabla2'.


Para más info tienes un manual de SQL en:

http://usuarios.lycos.es/manualesvarios


Las imagenes están extraídas de una base de datos ACCESS, pero todo lo que se explica es ANSI SQL, es decir, válido para *todos* (98%) los sistemas gestores de bases de datos, como ACCESS, MySQL, PostgreSQL, Oracle, etc...

1 Saludo.
__________________
"Yo opino lo mismo que BVis, el de 'forosdelweb' " - Bill Gates
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.