Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/06/2013, 08:45
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 de sintaxis, no lo encuentro para solucionarlo #1064

Dos errores:
1) Si ambas sentencias se ejecutan en un mismo script, cada una debe terminar en punto y coma.
2) Te faltaron separar con comas las clausulas de PRIMARY KEY y FOREIGN KEY.

Agregaría que no te recomiendo usar palabras reservadas como "password" como nombres de campos, porque luego tendrás problemas de sintaxis indetectables a causa de eso.
Código MySQL:
Ver original
  1. CREATE TABLE tipolocal(
  2. descripción VARCHAR(20) NOT NULL,
  3. );
  4.  
  5. CREATE TABLE locales(
  6. usuario VARCHAR(20) NOT NULL,
  7. nombre VARCHAR(30) NOT NULL,
  8. telefono VARCHAR(15) NOT NULL,
  9. dirección VARCHAR(40),
  10. localidad VARCHAR(20),
  11. ciudad VARCHAR(20),
  12. provincia VARCHAR(20),
  13. cp VARCHAR(7),
  14. mail VARCHAR(40),
  15. tipo INT(2) NOT NULL,
  16. categoría INT(1) NOT NULL,
  17. puntos INT(5) DEFAULT '0' NOT NULL,
  18. saldo DECIMAL(7,2),
  19. FOREIGN KEY (tipo) REFERENCES tipolocal(ID)
  20. );

PD: Tampoco recomiendo usar nombres de campos como "ID", en cada tabla, porque eso puede causarte complicaciones en posteriores consultas, si no se administran correctamente. Es mejor darles un prefijo que indique la tabla de pertenencia:
"locales_id"
"usuario_id",
DE ese modo, además, puedes conservar ese mismo nombre en los casos en que se use como FK, facilitando la construcción de las consultas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)