Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Creando la base de datos

Estas en el tema de Creando la base de datos en el foro de Mysql en Foros del Web. Buenas, He diseñado mi primera base de datos para ver como va el tema ya que normalmente partia de alguna base de datos ya creada ...
  #1 (permalink)  
Antiguo 19/06/2010, 14:52
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Creando la base de datos

Buenas,

He diseñado mi primera base de datos para ver como va el tema ya que normalmente partia de alguna base de datos ya creada y yo solo la adaptaba a mis necesidades.

El caso es que creandola me han surgido varias dudas:

- Es recomendable poner "default" a un campo NOT NULL? Se lo he puesto a todos los NOT NULL pero creo que estoy haciendo el tonto.

- Cuando quiero hacer una clave compuesta, ¿se hace de esta manera?:

CREATE TABLE `friendlist` (
`userid` int(10) unsigned NOT NULL default '',
`friendid` int(10) unsigned NOT NULL default '',
UNIQUE KEY `userid` (`userid`,`friendid`)
FOREIGN KEY (userid) references user(userid)
FOREIGN KEY (friendid) references user(userid)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Al intentar cargarla en phpMyAdmin me dice que naranjas de la china.

- ¿El charset latin1 es aconsejable o la pongo en utf8? No descarto poner multidioma en un futuro, aunque dudo que la traduzca al ruso.

Bueno, ahi estan mis tres dudillas, muchas gracias por leerlo :P
  #2 (permalink)  
Antiguo 22/06/2010, 11:16
 
Fecha de Ingreso: mayo-2009
Mensajes: 76
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Creando la base de datos

primero que todo no puedes poner un valor vacio en un campo not NULL

y segundo si tus campos userid y friendid son primarios no pueden ser Foranios! ya son primarios.

esta es tu consulta


CREATE TABLE `friendlist` (
`userid` int(10) unsigned NOT NULL ,
`friendid` int(10) unsigned NOT NULL ,
UNIQUE KEY `userid` (`userid`,`friendid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1


si quieres poner un valor dafult debe ser diferente de vacio.

Etiquetas: Ninguno
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 02:43.