mysql - 不断收到外键错误

标签 mysql sql

每次尝试插入 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/

相关文章:

mysql - 在 SQL 中使用 SET 进行 INSERT INTO

sql - No_data_found 异常也传播到外部 block 吗?

php - 我有一个表,其中包含带有日期列的数据。需要 Mysql 查询帮助!

php - Order By 不适用于连接和分组的 MySQL 表

Mysql数据迁移-wbcopytables charset

php - #1064 - 将 .ibd 或 .frm 文件导入数据库时​​出错

php - 将 CSV 导入 MySQL (WAMP),数据库中没有数据

php - 保存 IP 的最佳方法(PHP 或 MySQL)?

mysql - 如何从表中选择除最新 5 项之外的最后 50 项?

mysql - 将记录从 PostgreSQL 导入到 MySQL