En primer lugar,
no uses espacios en blanco en los nombres de los objetos de base (tablas, bases, columnas, etc.) Tienden a generar errores.
Código SQL:
Ver originalDROP TABLE IF EXISTS `registro usuarios`;
CREATE TABLE IF NOT EXISTS `registro_usuarios` (
`usuario_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`usuario_nombre` VARCHAR(15) NOT NULL,
`usuario_clave` VARCHAR(50) NOT NULL,
`usuario_email` VARCHAR(50) NOT NULL DEFAULT '',
`usuario_freg` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`tipo` ENUM('2','1') NOT NULL DEFAULT '2',
`archivo` VARCHAR(100) NOT NULL,
`twitter` VARCHAR(250) NOT NULL,
`avatar` VARCHAR(500) NOT NULL,
PRIMARY KEY (`usuario_id`)
) ENGINE=INNODB DEFAULT CHARSET=LATIN1;
DROP TABLE IF EXISTS `datos imagenes`;
CREATE TABLE IF NOT EXISTS `datos imagenes` (
`usuario_id` INT UNSIGNED NOT NULL,
`ruta` VARCHAR(100) NOT NULL,
`archivo` VARCHAR(100) NOT NULL,
`descripcion` TEXT,
PRIMARY KEY (`usuario_id`, `archivo`),
FOREIGN KEY (usuario_id) REFERENCES registro_usuarios(usuario_id)
)ENGINE=INNODB DEFAULT CHARSET=LATIN1 ;
En segundo lugar, no te olvides de controlar los caracteres escape (\) usados como parte de las rutas. Generan errores en las inserciones en SQL, porque SQL los interpreta como eso: Escape, produciendo errores en la cadena.