Tema: Error 1064
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/01/2015, 10:17
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: 16 años, 5 meses
Puntos: 2658
Respuesta: Error 1064

Estás, aparentemente, intentando ejecutar más de una sentencia consecutiva en el mismo script o ventana de ejecución sin ponerle el terminador de sentencia a cada una...
Fijate que al final de cada sentencia no está el punto y coma (";") que cierra obligatoriamente toda sentencia en MySQL.

Por otro lado es innecesario hacer ALTER TABLE para agregar una PK y el autoincrement. Lo puedes hacer en el mismo CREATE TABLE:
Código MySQL:
Ver original
  1. DROP DATABASE IF EXISTS `despliegate`;
  2. CREATE DATABASE IF NOT EXISTS `despliegate`;
  3.  
  4. DROP TABLE IF EXISTS `usuarios`;
  5. CREATE TABLE IF NOT EXISTS `usuarios` (
  6.       `nombre` VARCHAR(20) NOT NULL,
  7.       `nick` VARCHAR(20) NOT NULL,
  8.       `apellidos` VARCHAR(50) NOT NULL,
  9.       `fnacimiento` DATE NOT NULL
  10.     );

Por lo demás, el numero entre paréntesis en los campos numéricos no restringe la cantidad de valores ni de digitos. No se usa para eso, y no es buena práctica indicar una cantidad menor a los por defecto, que en el INT es 10 si es sin signo, y 11 si es con signo.
Además, un autoincremental debe ser siempre sin signo (UNSIGNED), porque MySQL no genera valores negativos, sin contar con que no existen en el universo identificadores numéricos negativos...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)