首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Errno: 1452约束

Errno: 1452约束
EN

Stack Overflow用户
提问于 2015-11-26 03:04:42
回答 1查看 132关注 0票数 0

当我尝试将这些表源到MySQL中时,它创建了所有的表。然后我开始填充表,它不会让我填充最后一个表Rental_Invoice。有什么建议吗?

错误是

错误1452 (23000):无法添加或更新子行:外键约束失败(SFRC_HIDDEN.Rental_Invoice、约束Rental_Invoice_fk_Client_Contact外键(Client_ID)引用Client_Contact (Client_ID))

代码语言:javascript
复制
 create table Client_Contact
    (
        Client_ID               int             Primary Key Auto_Increment,
        Client_First_Name       varchar(50)     Not Null,
        Client_Last_Name        varchar(50)     Not Null,
        Client_Address          varchar(50),
        Client_City             varchar(50)     Not Null,
        Client_State            Char(2)         Not Null,
        Client_Zip_Code         varchar(20)     Not Null,
        Client_Phone            varchar(20),
        Client_Email            varchar(30)

    );



    create table Owner_Contact
    (   Owner_ID int Primary Key, 
        Owner_First_Name varchar(50) Not Null,
        Owner_Last_Name varchar(50) Not Null,
        Owner_Address varchar(50), 
        Owner_City varchar(50) Not Null, 
        Owner_State varchar(2) Not Null, 
        Owner_Zip_Code  varchar(20) Not Null, 
        Owner_Phone varchar(20), 
        Owner_Email varchar(30)
        );



    create table Property_Info
    (Property_ID varchar(20) Primary Key,
        Owner_ID int Not Null,
        Property_Type varchar(30) Not Null, 
        Pets set('Yes','No') Not Null, 
        Internet set('yes','No') Not Null, 
         constraint Property_Info_fk_Owner_Contact
             foreign key (Owner_ID)
             references Owner_Contact (Owner_ID));



    create table Rental_Invoice
    ( Invoice_ID int Primary Key, 
      Property_ID varchar(10) Not Null, 
      Client_ID int Not Null, 
      Arrival_Date date Not Null, 
      Departure_Date date Not Null, 
      Deposit_Amount decimal(5,2) Not Null, 
      Pet_Deposit_Amount decimal(7,2), 
      Pet_Type enum('cat', 'dog', ''), 
      Cleaning_Fee decimal(5,2) Not Null, 
      Rental_Rate decimal(5,2) Not Null, 
      Method_Of_Payment varchar(20) Not Null, 
      constraint Rental_Invoice_fk_Client_Contact foreign key (Client_ID) references Client_Contact (Client_ID)
      );
EN

回答 1

Stack Overflow用户

发布于 2015-11-26 03:28:35

初始问题

只是随机猜测,因为我目前还没有安装MySQL。但是,依赖表中的Client_ID是一个VARCHAR,它引用父表中的一个整数列。

编辑后的

外键约束是通过将行插入到Rental_Invoice中没有相应行的Client_Contact引起的。换句话说,您的数据违反了Rental_Invoice_fk_Client_Contact外键约束,该约束要求Rental_Invoice.Client_ID使用匹配的Client_ID引用Client_Contact中的现有行。

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

https://stackoverflow.com/questions/33929918

复制
相关文章

相似问题

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