首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(`library`.`book_loans`,约束`book_loans_ibfk_3`外键(“`isbn`”)引用“`book`”(“isbn”))

(`library`.`book_loans`,约束`book_loans_ibfk_3`外键(“`isbn`”)引用“`book`”(“isbn”))
EN

Stack Overflow用户
提问于 2019-02-23 23:01:02
回答 1查看 116关注 0票数 0

java.sql.SQLIntegrityConstraintViolationException:无法添加或更新子行:外键约束失败(library.book_loans、约束book_loans_ibfk_3外键(isbn)引用book (isbn))

这是我的表代码

book_loans \x{e76f}

代码语言:javascript
复制
CREATE TABLE `book_loans` (
    `loan_id` int(11) NOT NULL,
    `isbn` varchar(10) DEFAULT NULL,
    `Card_ID` mediumint(9) NOT NULL AUTO_INCREMENT,
    `date_out` date DEFAULT NULL,
    `due_date` date DEFAULT NULL,
    `date_in` date DEFAULT NULL,
    PRIMARY KEY (`loan_id`),
    KEY `book_loans_ibfk_2` (`Card_ID`),
    KEY `isbn` (`isbn`),
    CONSTRAINT `book_loans_ibfk_2` FOREIGN KEY (`Card_ID`) 
        REFERENCES `borrower` (`Card_ID`),
    CONSTRAINT `book_loans_ibfk_3` FOREIGN KEY (`isbn`) 
        REFERENCES `book` (`isbn`)
) ENGINE=InnoDB 
    AUTO_INCREMENT=1002 
    DEFAULT CHARSET=utf8mb4 
    COLLATE=utf8mb4_0900_ai_ci

图书\x{e76f}

代码语言:javascript
复制
CREATE TABLE `book` (
    `isbn` varchar(10) NOT NULL,
    `title` varchar(500) DEFAULT NULL,
    PRIMARY KEY (`isbn`)
) ENGINE=InnoDB 
    DEFAULT CHARSET=utf8mb4 
    COLLATE=utf8mb4_0900_ai_ci

借款人

代码语言:javascript
复制
CREATE TABLE `borrower` (
    `Card_ID` mediumint(9) NOT NULL AUTO_INCREMENT,
    `Ssn` varchar(11) DEFAULT NULL,
    `Bname` varchar(50) DEFAULT NULL,
    `Address` varchar(100) DEFAULT NULL,
    `Phone` varchar(15) DEFAULT NULL,
    PRIMARY KEY (`Card_ID`),
    UNIQUE KEY `Ssn` (`Ssn`)
) ENGINE=InnoDB 
    AUTO_INCREMENT=1002 
    DEFAULT CHARSET=utf8mb4 
    COLLATE=utf8mb4_0900_ai_ci
EN

回答 1

Stack Overflow用户

发布于 2019-02-23 23:57:20

当您为"book_loans“表的"isbn”属性插入一个未包含在主键值集中的值时,可能会出现此异常。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54847116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档