Bueno, los FK no existen en el motor MyISAM. Son del InnoDB.
Por lo demás, esta estructura si funciona:
Código sql:
Ver originalCREATE TABLE `notas` (
`notasID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`userID` INT(10) UNSIGNED NOT NULL,
`posterTime` INT(10) UNSIGNED NOT NULL,
`posterIP` tinytext NOT NULL,
`titulo` tinytext NOT NULL,
`cuerpo` text NOT NULL,
`tags` VARCHAR(16) DEFAULT NULL,
`categoria` VARCHAR(16) NOT NULL,
PRIMARY KEY (`notasID`),
KEY `FK_notas_1` (`userID`),
FOREIGN KEY (`userID`) REFERENCES `usuarios` (`userID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Faltaba definir a ese campo como KEY, además de no hay que olvidarse que los campos deben ser del mismo tipo y que si usas un autonumerico, no te conviene un rango de representación inferior al INT.
Un tipo final: Si pones un campo como NOT NULL no tiene sentido que le des un valor DEFAULT, porque jamás lo podrá usar. Esos valores son operativos solamente en los campos NULL (que en este caso no pueden darse).