Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/09/2013, 10:12
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 6 meses
Puntos: 84
no puedo añadir foreign key

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 original
  1. ALTER TABLE answers
  2. 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 original
  1. CREATE TABLE `users` (
  2.  `id_user` INT(255) NOT NULL AUTO_INCREMENT,
  3.  `id_twitter` INT(255) NOT NULL COMMENT 'id de la cuenta twitter',
  4.  `nombre` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL COMMENT 'nombre en twitter',
  5.  `imagen` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL COMMENT 'imagen en twitter',
  6.  `oauth_token` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL,
  7.  `oauth_token_secret` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish2_ci NOT NULL,
  8.  PRIMARY KEY (`id_user`)
  9. ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8

tabla answers

Código SQL:
Ver original
  1. CREATE TABLE `answers` (
  2.  `id_answer` INT(255) NOT NULL AUTO_INCREMENT,
  3.  `answer` VARCHAR(255) COLLATE utf8_spanish2_ci NOT NULL,
  4.  `id_questions` INT(255) NOT NULL,
  5.  `id_users` INT(255) NOT NULL,
  6.  `datetime` datetime NOT NULL,
  7.  `viewed_users` INT(10) UNSIGNED DEFAULT NULL,
  8.  PRIMARY KEY (`id_answer`),
  9.  KEY `id_questions` (`id_questions`),
  10.  KEY `id_users` (`id_users`),
  11.  CONSTRAINT `answers_ibfk_2` FOREIGN KEY (`id_questions`) REFERENCES `questions` (`id_question`),
  12.  CONSTRAINT `answers_ibfk_3` FOREIGN KEY (`id_users`) REFERENCES `users` (`id_user`)
  13. ) 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?
__________________
Ayúdame a hacerlo por mi mismo.