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

ayuda primare Key poner 2 que no se.

Estas en el tema de ayuda primare Key poner 2 que no se. en el foro de Mysql en Foros del Web. CREATE TABLE votos( idvo INTEGER NOT NULL AUTO_INCREMENT, ipv varchar(10) default NULL, perroidv varchar(5) default NULL, puntosv varchar(3) default NULL, PRIMARY KEY ('ipv','perroidv') ) ¿por ...
  #1 (permalink)  
Antiguo 15/12/2009, 07:55
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
ayuda primare Key poner 2 que no se.

CREATE TABLE votos(
idvo INTEGER NOT NULL AUTO_INCREMENT,
ipv varchar(10) default NULL,
perroidv varchar(5) default NULL,
puntosv varchar(3) default NULL,
PRIMARY KEY ('ipv','perroidv')
)

¿por que no funciona?
  #2 (permalink)  
Antiguo 15/12/2009, 07:57
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: ayuda primare Key poner 2 que no se.

Si no recuerdo mal, un campo con el AUTO_INCREMENT tenia que ser clave primera ¿no?

Aqui busque en este mismo foro: http://www.forosdelweb.com/f86/autoi...imaria-567542/
  #3 (permalink)  
Antiguo 15/12/2009, 08:06
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: ayuda primare Key poner 2 que no se.

e puesto
CREATE TABLE votos(
idvo INTEGER NOT NULL AUTO_INCREMENT,
ipv varchar(10) default NULL,
perroidv varchar(5) default NULL,
puntosv varchar(3) default NULL,
PRIMARY KEY ('idvo','ipv','perroidv')
)
Error:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''idvo','ipv','perroidv') )' at line 6
  #4 (permalink)  
Antiguo 15/12/2009, 08:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ayuda primare Key poner 2 que no se.

Estás poniendo apóstrofes en la definición de la PK. Los apóstrofes se usan para encerrar cadenas de caracteres (strings), no para nombres de campos.
Para poner nombres de campos debes usar acentos, o bien no poner nada:
Código MySQL:
Ver original
  1. CREATE TABLE votos(
  2. perroidv varchar(5) default NULL,
  3. puntosv varchar(3) default NULL,
  4. PRIMARY KEY (idvo,ipv,perroidv)
  5. ) ;
Por otro lado, si el campo idvo es un auto_increment, ya de por sí es suficiente para ser PK. ¿Para qué compones una PK con tres campos? Carece de utilidad.
En todo caso, si el voto es una tabla que depende de oras, no requiere necesariamente de un autoincrement, porque el tema + el usuario serían suficiente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:13.