将数据插入到具有外键依赖项的两个表中

时间:2014-01-18 09:55:46

标签: mysql

如何将数据插入到同一数据库中的两个表中,这两个表彼此具有外键依赖关系。在这里,我需要将数据插入到产品表中,但它失败了,因为它引用了sku表中的列(没有数据)。第二个查询将数据插入到sku表,其中DEFAULT_PRODUCT_ID列条目引用也没有数据的产品表条目。那么如何在product和sku表中插入数据并引用其他列?

错误:

  

无法添加或更新子行:外键约束失败   (sodifkjsku,CONSTRAINT FK28E82CF77E555D75 FOREIGN KEY   (DEFAULT_PRODUCT_ID)参考productPRODUCT_ID))

查询:

-- insert into product
INSERT INTO `product` 
(`PRODUCT_ID`, `ARCHIVED`, `DISPLAY_TEMPLATE`, `IS_FEATURED_PRODUCT`, `MANUFACTURE`, `MODEL`, `URL`, `URL_KEY`, `DEFAULT_CATEGORY_ID`, `DEFAULT_SKU_ID`, `SIGNATURE_TYPE_ID`, `CAN_SELL_WITHOUT_OPTIONS`, `TAX_CODE`) 
VALUES ('130', 'N', NULL, '\0', NULL, NULL, '/sig/Persl171', NULL, '4', '1030', 'FREE', NULL, NULL);


-- insert sku
INSERT INTO `sku` (`SKU_ID`, `ACTIVE_END_DATE`, `ACTIVE_START_DATE`, `AVAILABLE_FLAG`, `DESCRIPTION`, `CONTAINER_SHAPE`, `DEPTH`, `DIMENSION_UNIT_OF_MEASURE`, `GIRTH`, `HEIGHT`, `CONTAINER_SIZE`, `WIDTH`, `DISCOUNTABLE_FLAG`, `IS_MACHINE_SORTABLE`, `LONG_DESCRIPTION`, `NAME`, `RETAIL_PRICE`, `SALE_PRICE`, `TAXABLE_FLAG`, `WEIGHT`, `WEIGHT_UNIT_OF_MEASURE`, `FULFILLMENT_TYPE`, `INVENTORY_TYPE`, `TAX_CODE`, `CURRENCY_CODE`, `DEFAULT_PRODUCT_ID`) 
VALUES 
('1030', NULL, '2013-02-20 01:00:00', 'N', 'Person171', NULL, NULL, NULL, NULL, '80', NULL, '65', 'N', '0', 'Person171', 'Person171', '0000', '0000', 'N', NULL, NULL, NULL, NULL, NULL, NULL, '130');

我试图在事务和成功提交之间运行此查询。但这不行。

START TRANSACTION;
INSERT INTO product..
INSERT INTO sku..
COMMIT

0 个答案:

没有答案