错误代码:1452。无法添加或更新子行:外键约束失败

时间:2011-09-04 00:35:33

标签: java mysql

我正在练习affablebean e-commerce tutorial,但是我遇到了一个错误,试图通过mySQL工作台保存数据,这是我得到的错误。

  

错误代码:1452。无法添加或更新子行:外键   约束失败(affablebeanproduct,CONSTRAINT   fk_product_category FOREIGN KEY(category_id)参考   categoryid)ON UPDATE CASCADE)

这里我留下一幅图片(图形):

http://imageshack.us/photo/my-images/705/capturesdx.jpg/

2 个答案:

答案 0 :(得分:2)

错误意味着在category_id表中找不到您要为product中的列category插入的任何值,并且它需要根据约束

答案 1 :(得分:0)

Dan是对的,所以解决方法就是确保你

  1. 在两个表格中将AUTO_INCREMENT重置为1(类别和 产物)。
  2. 从两个表格中删除所有数据并重新开始。
  3. 这是你需要的sql语句

    set SQL_SAFE_UPDATES = 0;
    delete from product;
    delete from category;
    ALTER TABLE category AUTO_INCREMENT = 1;
    ALTER TABLE product AUTO_INCREMENT = 1;
    INSERT INTO `category` (`name`) VALUES ('dairy'),('meats'),('bakery'),('fruit & veg');
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('milk', 1.70, 'semi skimmed (1L)', 1);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('cheese', 2.39, 'mild cheddar (330g)', 1);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('butter', 1.09, 'unsalted (250g)', 1);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('free range eggs', 1.76, 'medium-sized (6 eggs)', 1);
    
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('organic meat patties', 2.29, 'rolled in fresh herbs<br>2 patties (250g)', 2);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('parma ham', 3.49, 'matured, organic (70g)', 2);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('chicken leg', 2.59, 'free range (250g)', 2);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('sausages', 3.55, 'reduced fat, pork<br>3 sausages (350g)', 2);
    
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('sunflower seed loaf', 1.89, '600g', 3);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('sesame seed bagel', 1.19, '4 bagels', 3);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('pumpkin seed bun', 1.15, '4 buns', 3);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('chocolate cookies', 2.39, 'contain peanuts<br>(3 cookies)', 3);
    
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('corn on the cob', 1.59, '2 pieces', 4);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('red currants', 2.49, '150g', 4);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('broccoli', 1.29, '500g', 4);
    INSERT INTO `product` (`name`, price, description, category_id) VALUES ('seedless watermelon', 1.49, '250g', 4);