Здесь у меня есть четыре таблицы в моей базе данных с именем test_center
.Это:
test_user
-> PK = u_id
test_metadata
-> PK = test_id
student_detail
--> PK = Student_id
test_records
-> PK = test_record_id
(дочерний стол)
Таблица 4 - это дочерний стол, а 1, 2, 3 - мастера.
Я пытаюсь, чтобы в таблице test_records
было три внешних ключа из каждой из этих основных таблиц, но некоторые ошибки отображаются следующим образом.(Я использую MySQL Workbench 5.0 и сервер MySQL)
ОШИБКА 1005: Невозможно создать таблицу 'test_center. # Sql-aa4_12' (номер ошибки: 121)
Оператор SQL:
ALTER TABLE `test_center`.`test_records`
ADD CONSTRAINT `Student_id`
FOREIGN KEY (`Student_id` )
REFERENCES `test_center`.`student_detail` (`Student_id` )
ON DELETE CASCADE
ON UPDATE CASCADE,
ADD CONSTRAINT `test_id`
FOREIGN KEY (`test_id` )
REFERENCES `test_center`.`test_metadata` (`test_id` )
ON DELETE CASCADE
ON UPDATE CASCADE,
ADD CONSTRAINT `u_id`
FOREIGN KEY (`u_id` )
REFERENCES `test_center`.`test_user` (`u_id` )
ON DELETE CASCADE
ON UPDATE CASCADE
ОШИБКА: ошибка при запуске сценария восстановления после сбоя.Подробности следуют.ОШИБКА 1046: База данных не выбрана
Оператор SQL:
CREATE TABLE `test_records` (
`test_record_id` int(11) NOT NULL AUTO_INCREMENT,
`test_name` varchar(45) NOT NULL,
`Result` float NOT NULL,
`status` varchar(45) NOT NULL,
`Student_id` varchar(45) NOT NULL,
`u_id` int(11) NOT NULL,
`test_id` int(11) NOT NULL,`enter code here`
PRIMARY KEY (`test_record_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1