Hola, antes que nada, estás abriendo dos hilos para básicamente un mismo tema, referido a FK.
Te recuerdo que eso no se permite, y está explicitamente prohibido en las Politicas de Uso de FDW.
Este hilo está relacionado con el otro, donde planteabas problemas con el ALTER TABLE, y serán fusionados en un rato.
Además de este detalle, y yendo al problema que te aqueja, hay un par de cosas que necesitas corregir, una de las cuales puede estar causando tu problema.
Este "255" que pones en las columnas numéricas es total y absolutamente inútil. Para mas información, no representa la cantidad de dígitos ni nada que se le parezca, pero puede causarte problemas luego.
La explicación de para qué el sistema pone ese numero está en el manual de referencia y se ha explicado en este foro varias veces. En realidad, no sirve para nada útil, y no restringe ni expande la longitud del numero, porque los valores numéricos no se almacenan como cifras, sino como números binarios. Y eso es otra cosa. Por eso la longitud máxima de un INT es de 4 bytes, y un bigint de 8, y MySQL no usa mas que eso.
Pero por otro lado, como estás definiendo diferente el campo FK de una tabla, respecto al de la PK referida (10 en uno y 255 en el otro), eso es una causa probable del fallo.
También hay que comprobar que las tablas estén vacías, y si no están vacías, asegurarse que los datos que existan cumplan las restricciones indicadas por la nueva FK.
Si al menos un registro no la cumple, no te dejará crear la FK.
Código MySQL:
Ver original
KEY `id_questions` (`id_questions`), KEY `id_users` (`id_users`),
Otro detalle que debes tener en cuenta es que 255 no es la longitud máxima actualmente en un VARCHAR. Una columna de ese tipo puede tener 65536 caracteres de longitud.