Mysql 错误号:1452约束

Mysql 错误号:1452约束,mysql,Mysql,当我尝试将这些表源代码转换到MySQL时,它创建了所有的表。然后我开始填充表,它不会让我填充最后一个表。有什么建议吗 错误是 错误1452 23000:无法添加或更新子行:外键 约束失败SFRC\U隐藏。租金\U发票,约束 租赁发票fk客户联系外键客户ID 参考客户\联系客户\ ID 初始问题 只是一个随机猜测,因为我目前没有安装MySQL。但是依赖表中的Client_ID是VARCHAR,它引用父表中的整数列 编辑后 外键约束是由于在租赁发票中插入了一行而导致的,该行在客户端联系人中没有相应的

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

错误是

错误1452 23000:无法添加或更新子行:外键 约束失败SFRC\U隐藏。租金\U发票,约束 租赁发票fk客户联系外键客户ID 参考客户\联系客户\ ID

初始问题

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

编辑后


外键约束是由于在租赁发票中插入了一行而导致的,该行在客户端联系人中没有相应的行。换句话说,您的数据违反了Rental\u Invoice\u fk\u Client\u Contact外键约束,该约束要求Rental\u Invoice.Client\u ID引用客户端\u Contact中具有匹配客户端\u ID的现有行。

创建表Rental\u Invoice Invoice\u ID int主键,属性\u ID varchar10不为Null,客户端\u ID int不为Null,到达日期不为空,离开日期不为空,押金金额小数点5,2不为空,宠物押金金额小数点7,2,宠物类型枚举“猫”、“狗”、清洁费小数点5,2不为空,租金率小数点5,2不为空,付款方式varchar20不为空,约束租赁\u发票\u fk\u客户\u联系人外键客户\u ID引用客户\u联系人客户\u ID;我更新了它,但仍然出现错误。在您的客户联系人中也要使客户ID不为null
 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)
      );