我使用 Oracle 11g作为我的数据库,我有2个名为 CATEGORY 和 PRODUCT 的表。
CATEGORY - cat_id NUMBER not null (PK)
, cat_name VARCHAR2(100)
PRODUCT - PRO_ID NUMBER not null (PK)
, PRO_NAME VARCHAR2(100)
, PRICE BINARY_FLOAT
, DESCRIPTION VARCHAR2(200)
, CATEGORY_ID NUMBER
( category_id 是外键, CATEGORY 表的 cat_id 。)
当我尝试将数据插入 CATEGORY 表时,它可以正常工作。以下是我的sql语句。
INSERT INTO category (cat_name) VALUES ('dairy');
INSERT INTO category (cat_name) VALUES ('meats');
INSERT INTO category (cat_name) VALUES ('bakery');
INSERT INTO category (cat_name) VALUES('fruit & veg');
以下显示如何存储在表格中的数据(从类别中选择* )
CAT_ID CAT_NAME
1 dairy
2 meats
3 bakery
4 fruit & veg
但是,当我尝试将数据插入到 PRODUCT 表时,它会在插入几次后给出错误。
Error starting at line 6 in command:
INSERT INTO product (pro_name, price, description, category_id) VALUES ('organicmeat patties', 2.29, 'rolled in fresh herbs<br>2 patties (250g)', 2)
Error report:
SQL Error: ORA-02291: integrity constraint (TRNINT01.GAYALK_PRODUCT_GAYALK_CAT_FK1)violated - parent key not found
这是 PRODUCT 表
的sql语句INSERT INTO product (pro_name, price, description, category_id) VALUES ('milk', 1.70, 'semi skimmed (1L)', 1);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('cheese', 2.39, 'mild cheddar (330g)', 1);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('butter', 1.09, 'unsalted (250g)', 1);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('free range eggs', 1.76, 'medium-sized (6 eggs)', 1);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('organic meat patties', 2.29, 'rolled in fresh herbs<br>2 patties (250g)', 2);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('parma ham', 3.49, 'matured, organic (70g)', 2);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('chicken leg', 2.59, 'free range (250g)', 2);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('sausages', 3.55, 'reduced fat, pork<br>3 sausages (350g)', 2);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('sunflower seed loaf', 1.89, '600g', 3);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('sesame seed bagel', 1.19, '4 bagels', 3);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('pumpkin seed bun', 1.15, '4 buns', 3);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('chocolate cookies', 2.39, 'contain peanuts<br>(3 cookies)', 3);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('corn on the cob', 1.59, '2 pieces', 4);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('red currants', 2.49, '150g', 4);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('broccoli', 1.29, '500g', 4);
INSERT INTO product (pro_name, price, description, category_id) VALUES ('seedless watermelon', 1.49, '250g', 4);