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

[SOLUCIONADO] Error 1064

Estas en el tema de Error 1064 en el foro de Mysql en Foros del Web. Hola buenas tardes a todos estoy intentando crear una base de datos para un proyecto que tengo y al ser la primera que creo esta ...
  #1 (permalink)  
Antiguo 03/01/2015, 10:04
Avatar de dmrx921  
Fecha de Ingreso: enero-2015
Mensajes: 35
Antigüedad: 9 años, 10 meses
Puntos: 0
Exclamación Error 1064

Hola buenas tardes a todos estoy intentando crear una base de datos para un proyecto que tengo y al ser la primera que creo esta completo de fallos xD
El que mas me molesta es este no consigo hacerlo desaparecer al intentar importar la base de datos desde el fichero .sql me da el siguiente error:
consulta SQL:

Código MySQL:
Ver original
  1. CREATE DATABASE IF NOT EXISTS `despliegate`
  2. CREATE TABLE IF NOT EXISTS `usuarios` (
  3. `id_usuario` int(4) NOT NULL,
  4.   `nombre` varchar(20) NOT NULL,
  5.   `nick` varchar(20) NOT NULL,
  6.   `apellidos` varchar(50) NOT NULL,
  7.   `fnacimiento` date NOT NULL
  8. )
  9. ALTER TABLE `usuarios`
  10. ADD PRIMARY KEY (`id_usuario`);
  11.  
  12. MySQL ha dicho: Documentación
  13. #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 'CREATE TABLE IF NOT EXISTS `usuarios` (
  14. `id_usuario` int(4) NOT NULL,
  15.   `nombr' at line 2

y el contenido del fichero que intento importar es este por si le quereis echar un vistazo:
Código MySQL:
Ver original
  1. CREATE DATABASE IF NOT EXISTS `despliegate`
  2. CREATE TABLE IF NOT EXISTS `usuarios` (
  3. `id_usuario` int(4) NOT NULL,
  4.   `nombre` varchar(20) NOT NULL,
  5.   `nick` varchar(20) NOT NULL,
  6.   `apellidos` varchar(50) NOT NULL,
  7.   `fnacimiento` date NOT NULL
  8. )
  9. ALTER TABLE `usuarios`
  10. ADD PRIMARY KEY (`id_usuario`);
  11. ALTER TABLE `usuarios`
  12. MODIFY `id_usuario` int(4) NOT NULL AUTO_INCREMENT;
Espero vuestra ayuda y gracias por adelantado.

Última edición por gnzsoloyo; 03/01/2015 a las 10:10
  #2 (permalink)  
Antiguo 03/01/2015, 10:17
Avatar de 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
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)
  #3 (permalink)  
Antiguo 03/01/2015, 10:18
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 12 años
Puntos: 1
Respuesta: Error 1064

te falta un ;(punto y coma) despues del parentesis de la declaracion de la tabla.
  #4 (permalink)  
Antiguo 03/01/2015, 10:22
Avatar de 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
Puntos: 2658
Respuesta: Error 1064

Cita:
Iniciado por giuli956 Ver Mensaje
te falta un ;(punto y coma) despues del parentesis de la declaracion de la tabla.
Le faltaba a todas las sentencias, excepto una...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/01/2015, 10:41
Avatar de dmrx921  
Fecha de Ingreso: enero-2015
Mensajes: 35
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Error 1064

Gracias a todos ya esta resuelto fue un fallo tonto...

Etiquetas: 1064, sql
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 14:10.