Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/01/2009, 17:50
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes
Puntos: 2658
Respuesta: la tabla se me resiste!!

Estás tratando de hacer que te ponga un apóstrofe (') como valor por default en un campo. El apóstrofe, como te imaginarás, es un caracter reservado para encerrar cadenas de texto, por lo que esto: '', significa caracter vacío (no NULL, vacío). Pero tu estás poniendo: ''', lo que implica que estás indicando primero un caracter vacío y luego abriendo una cadena de texto... que no se cierra, por lo que todo el texto siguiente, es decir:
Cita:
,
PRIMARY KEY (`accounts_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
está siendo tomado como contenido de la cadena de texto....

Esto es simplemente porque para poder indicar que una cadena de texto contiene un caracter reservado, se deben usar caracteres de escape.
Así, para hacer que la cosa funcione, el código de SQL necesario sería:
Código sql:
Ver original
  1. CREATE TABLE  `accounts_extend` (
  2.   `accounts_id` VARCHAR(45) NOT NULL,
  3.   `email` VARCHAR(320) DEFAULT 'youname@domain',
  4.   `joindate` DECIMAL(20,0) DEFAULT NULL,
  5.   `referrals` VARCHAR(45) DEFAULT NULL,
  6.   `points_tmp` VARCHAR(5) NOT NULL DEFAULT '\'',
  7.   PRIMARY KEY  (`accounts_id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Por lo demás, ¿para qué quieres poner un apóstrofe en ese campo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)