如何将数据插入到同一数据库中的两个表中,这两个表彼此具有外键依赖关系。在这里,我需要将数据插入到产品表中,但它失败了,因为它引用了sku表中的列(没有数据)。第二个查询将数据插入到sku表,其中DEFAULT_PRODUCT_ID
列条目引用也没有数据的产品表条目。那么如何在product和sku表中插入数据并引用其他列?
错误:
无法添加或更新子行:外键约束失败 (
sodifkj
。sku
,CONSTRAINTFK28E82CF77E555D75
FOREIGN KEY (DEFAULT_PRODUCT_ID
)参考product
(PRODUCT_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