Когда я пытаюсь выполнить это заявление я получил эту ошибку:MySQL не может создать таблицу код ошибки 1005
#1005 - Can't create table 'school2.#sql-1060_74' (errno: 150)
#Supports transactions, row-level locking, and foreign keys
Я не могу понять, что это неправильно.
CREATE TABLE `class` (
`class_num` varchar(50) NOT NULL ,
`sec` varchar(10) NOT NULL ,
`tmpo_no` varchar(50) NOT NULL,
PRIMARY KEY (`class_num`,`sec`));
CREATE TABLE `class_has_taken` (
`class_num` varchar(50) NOT NULL,
`sec` varchar(10) NOT NULL,
`std_id` INT NOT NULL,
`year` DATE NOT NULL);
ALTER TABLE `class_has_taken` ADD CONSTRAINT `class_has_taken_fk0` FOREIGN KEY (`class_num`) REFERENCES `class`(`class_num`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `class_has_taken` ADD CONSTRAINT `class_has_taken_fk2` FOREIGN KEY (`sec`) REFERENCES `class`(`sec`) ON DELETE CASCADE ON UPDATE CASCADE;
Должно быть другое заявление для создания таблицы school2, где вы получаете эту ошибку. – Jens
Возможный дубликат [MySQL Foreign Key Error 1005 errno 150] (http://stackoverflow.com/questions/4063141/mysql-foreign-key-error-1005-errno-150) –
school2 - это мое имя базы данных. Я фактически выполняю его на phpmyadmin. – noshusan