每次尝试插入 Book_Written_By
表时,我都会收到外键错误。
该表的 SQL 是:
`CREATE TABLE `Book_Written_By` (
`title` char ( 255 ),
`ISBN` varchar2,
`fname` char ( 255 ),
`lname` char ( 255 ),
FOREIGN KEY(`title`,`ISBN`) REFERENCES `Book_Belongs_To`(`title`,`ISBN`),
FOREIGN KEY(`fname`,`lname`) REFERENCES `Author`(`fname`,`lname`)
);
Book_Belongs_To 的 SQL 是:
CREATE TABLE `Book_Belongs_To` (
`section_name` char ( 255 ),
`year` integer,
`title` char ( 255 ) NOT NULL UNIQUE,
`ISBN` varchar2 NOT NULL UNIQUE,
`publisher` char ( 255 ),
`inventory` integer NOT NULL,
`price` float NOT NULL,
`edition` char ( 255 ),
PRIMARY KEY(`ISBN`),
FOREIGN KEY(`section_name`) REFERENCES `Section`(`name`)
);'
错误:
foreign key mismatch - "Book_Written_By" referencing "Book_Belongs_To":
INSERT INTO `Book_Written_By` (`title`, `ISBN`, `fname`, `lname`)
VALUES ('Fundamentals of Database Systems', '0-8053-1755-4', 'Ramez A. ', 'Elmasri'); `
任何帮助都会有帮助!
最佳答案
您正尝试将非整数值 0-8053-1755-4
插入到定义为整数的 ISBN
中。
关于mysql - 不断收到外键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50181681/