elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  como unir estas dos tabla con foreing key en mysql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como unir estas dos tabla con foreing key en mysql  (Leído 7,717 veces)
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
como unir estas dos tabla con foreing key en mysql
« en: 24 Diciembre 2011, 06:09 am »

hola, tengo esta tabla registro, y quiero crear otra tabla comentarios, pero no logro crear la tabla comentarios.el codigo es el sgte:

tabla registro:

Código:
create table registro (id int not null auto_increment,
                                   nombre varchar(30) not null,
pass varchar(40) not null,
correo vachar(40) not null,
fono_fijo int not null,
celular int not null,
primary key (id));

tabla comentarios:
Código:
create table comentarios(id int not null,comentario text not null,fecha int not null,positivo int,negativo,int);

pd: me da error al momento de crear la 2dad tabla que se viene, como podria hacer para que me permitiese creat la tabla?salu2.


En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: como unir estas dos tabla con foreing key en mysql
« Respuesta #1 en: 24 Diciembre 2011, 09:52 am »

Código
  1. CREATE TABLE IF NOT EXISTS `registro`(
  2.  `id`     INT         NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3.  `nombre` VARCHAR(30) NOT NULL,
  4.  `pass`   VARCHAR(32) NOT NULL,
  5.  `email`  VARCHAR(60) NOT NULL,
  6.  `tel`    VARCHAR(10) NOT NULL,
  7.  `cel`    VARCHAR(20) NOT NULL
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
El campo teléfono y celular no puede ser de tipo INT, tienes que mirar la longitud que soporta este tipo de dato. Yo usaría VARCHAR() -porque no realizarás ninguna operación con este dato- o NUMERIC()

Código
  1. CREATE TABLE IF NOT EXISTS `comentarios`(
  2.  `id`         INT  NOT NULL PRIMARY KEY AUTO_INCREMENT,
  3.  `comentario` TEXT NOT NULL,
  4.  `fecha`      DATE NOT NULL,
  5.  `positivo`   INT  NOT NULL,
  6.  `negativo`   INT  NOT NULL
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
El campo de fecha debería de ser de tipo DATE(). Los campos de positivo y negativo, dependiendo del valor que contengan podrían ser de tipo TINYINT o BOOLEAN, además de poderlos agrupar dentro de un sólo campo.



Para relacionar las tablas, podrías usar...
Código
  1. FOREIGN KEY (`ForeingKeyTable1`) REFERENCES `Table2`(`PrimaryKeyTable2`)


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: como unir estas dos tabla con foreing key en mysql
« Respuesta #2 en: 25 Diciembre 2011, 03:55 am »

hola, la idea es crear una tabla usuario con id auto_increment, y crear una tabla comentario. donde un usuario podria tener 0 a + comentarios, y un comentario solo puede tener un dueño. en este caso estaría bien planteada la creacion de las 2 tablas? gracias por responder.salu2.
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
klaine

Desconectado Desconectado

Mensajes: 112



Ver Perfil WWW
Re: como unir estas dos tabla con foreing key en mysql
« Respuesta #3 en: 26 Diciembre 2011, 15:18 pm »

Plantéate que es lo que identifica al user, si, por ejemplo, es el correo, en la tabla comentarios los comentarios estarán relacionados con su user por aquello que es único para el usuario (su correo, en este caso)  :P

Saludos
En línea

jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: como unir estas dos tabla con foreing key en mysql
« Respuesta #4 en: 26 Diciembre 2011, 22:57 pm »

es así, no me lo había planteado bien. salu2.
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
respaldar tabla de mysql
PHP
pedraxito 4 9,300 Último mensaje 15 Mayo 2007, 07:00 am
por pedraxito
Crear tabla usando como nombre el campo de otra MYSQL [Solucionado]
Bases de Datos
Graphixx 1 4,226 Último mensaje 1 Diciembre 2010, 06:48 am
por Graphixx
campos en tabla mysql
Bases de Datos
djdm52 4 4,442 Último mensaje 16 Noviembre 2011, 04:22 am
por djdm52
Como hacer que una tabla vacia me retorne algun valor mysql
Bases de Datos
exeny 1 4,493 Último mensaje 20 Diciembre 2011, 20:42 pm
por exeny
foreing Key en la misma tabla
Bases de Datos
David Vans 0 1,852 Último mensaje 22 Febrero 2013, 00:18 am
por David Vans
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines