MySQL错误1452 - 无法向表中添加记录

时间:2015-02-26 05:00:11

标签: mysql

所以我已经看了here并且我已经尝试了两个解决方案,但它对我不起作用=我很难理解这个错误。我对数据库和MySQL都很陌生。

您可以找到我的数据库here。我使用cmdspace_lostmac queries/文件夹中的脚本填充表格。

我做了什么:

  1. 通过MySQL Workbench通过ERR图设计数据库
  2. 将数据库导出为.sql脚本(文件cmdspace_lostmac.sql
  3. 在我的机器上运行本地服务器上的脚本(没有错误)
  4. 除了model.sql之外的所有其他脚本(到目前为止没有错误)
  5. 然后它给了我错误1452
  6. model.sql文件包含以下脚本:

    # desktops
    insert into model(category_id, product_name, product_identifier, year_released, size_id, color_id, CPU_id, GPU_id, ext_link)
    values(2, 'iMac Retina 5K Late 2014', 'iMac15,1', 2014, 18, 1, 43, 41, 'http://www.everymac.com/systems/apple/imac/specs/imac-core-i5-3.5-27-inch-aluminum-retina-5k-late-2014-specs.html');
    
    # laptops 
    insert into model(category_id, product_name, product_identifier, year_released, size_id, color_id, CPU_id, GPU_id, ext_link)
    values(1, 'Macbook Air Mid 2012', 'MacBookAir5,2', 2012, 9, 1, 138, 35, 'http://www.everymac.com/systems/apple/macbook-air/specs/macbook-air-core-i5-1.8-13-mid-2012-specs.html');
    
    # iphones
    insert into model(category_id, product_name, product_identifier, year_released, color_id, size_id, drive_id, ext_link)
    values (3, 'iPhone 6 Plus', 'iPhone7,1', 2014, 4, 4, 5, 'http://www.everymac.com/systems/apple/iphone/specs/apple-iphone-6-plus-a1522-5.5-inch-gsm-north-america-specs.html');
    

    注意:当我运行SET foreign_key_checks = 0;时,运行脚本然后重新设置为SET foreign_key_checks = 1;我可以执行此操作。但显然我需要在每次需要更新数据库时禁用检查。这显然是糟糕的设计。

0 个答案:

没有答案