Te faltan comas separando todas las definiciones de FK en todas las tablas.
Ejemplo:
Código sql:
Ver originalCREATE TABLE peliculas(
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT ,
titulo VARCHAR( 25 ) ,
genero INTEGER ,
precio SMALLINT ,
actor VARCHAR( 25 ) ,
argumento LONGTEXT ,
director INTEGER ,
productora VARCHAR( 25 ),
PRIMARY KEY ( id )
FOREIGN KEY ( genero ) REFERENCES generos( id )
FOREIGN KEY ( actor ) REFERENCES actores( id )
FOREIGN KEY ( director ) REFERENCES directores( id )
ON DELETE CASCADE
ON UPDATE CASCADE
)ENGINE=InnoDB;
Debe ir:
Código sql:
Ver originalCREATE TABLE peliculas(
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT ,
titulo VARCHAR(25) ,
genero INTEGER ,
precio SMALLINT ,
actor VARCHAR(25) ,
argumento LONGTEXT ,
director INTEGER ,
productora VARCHAR(25),
PRIMARY KEY (id),
FOREIGN KEY (genero) REFERENCES generos(id),
FOREIGN KEY (actor) REFERENCES actores(id),
FOREIGN KEY (director) REFERENCES directores(id) ON DELETE CASCADE ON UPDATE CASCADE
)ENGINE=InnoDB;
¿Se comprende?