He creado dos tablas, una de ellas tiene dos campos que apuntan a el id de la otra.
No es para que repitan información. Explico:
Una tabla es users con un id. Cada usuario responderá unas preguntas sobre otro. Tanto el que pregunta como el protagonista de las preguntas quedarán reflejados en la tabla answers.
Pero al querer establecer el segundo foreign key no me deja.
EDITO
Intenté añadir el foreign key con este comando
Código SQL:
Ver originalALTER TABLE answers
ADD FOREIGN KEY (viewed_users) REFERENCES users (id_user)
Pero el error que me muestra es el siguiente
Cita: #1005 - Can't create table 'admin_a60680913.#sql-4e7_bda3' (errno: 150)
Los show create table de cada tabla son los siguientes
tabla
users
Código SQL:
Ver originalCREATE TABLE `users` (
`id_user` INT(255) NOT NULL AUTO_INCREMENT,
`id_twitter` INT(255) NOT NULL COMMENT 'id de la cuenta twitter',
`nombre` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL COMMENT 'nombre en twitter',
`imagen` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL COMMENT 'imagen en twitter',
`oauth_token` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL,
`oauth_token_secret` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_user`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8
tabla
answers
Código SQL:
Ver originalCREATE TABLE `answers` (
`id_answer` INT(255) NOT NULL AUTO_INCREMENT,
`answer` VARCHAR(255) COLLATE utf8_spanish2_ci NOT NULL,
`id_questions` INT(255) NOT NULL,
`id_users` INT(255) NOT NULL,
`datetime` datetime NOT NULL,
`viewed_users` INT(10) UNSIGNED DEFAULT NULL,
PRIMARY KEY (`id_answer`),
KEY `id_questions` (`id_questions`),
KEY `id_users` (`id_users`),
CONSTRAINT `answers_ibfk_2` FOREIGN KEY (`id_questions`) REFERENCES `questions` (`id_question`),
CONSTRAINT `answers_ibfk_3` FOREIGN KEY (`id_users`) REFERENCES `users` (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci COMMENT='administra las respuestas de cada usuario'
¿Alguien que me ayude a entender lo que sucede y solucionar el problema?