LOAD DATA LOCAL INFILE和外键约束

时间:2014-05-11 22:07:23

标签: php mysql sql

我使用LOAD DATA LOCAL INFILE将.csv文件中的数据导入以下两个表:

CREATE TABLE `mgap_ska` (
  `mgap_ska_id` int(11) NOT NULL,
  `mgap_ska_id_name` varchar(255) DEFAULT '',
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  KEY `account_manager_fk` (`account_manager_id`),
  CONSTRAINT `account_manager_fk` FOREIGN KEY (`account_manager_id`) REFERENCES `mgap_account_managers` (`account_manager_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `mgap_orders` (
  `mgap_ska_id_name` varchar(255) DEFAULT '',
  `mgap_item_number` int(11) NOT NULL,
  `skarowid` int(11) NOT NULL,
  KEY `skarow_fk` (`skarowid`),
  CONSTRAINT `skarow_fk` FOREIGN KEY (`skarowid`) REFERENCES `mgap_ska` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

正如您所看到的,我在第一列中有一个名为'id'的主键,我试图将它与第二个表中的'skarowid'联系起来。我们的想法是将'id'字段从第一个表复制到'skarow'列下的第二个表中。我需要将第一个表中的行ID与第二个表中的订单ID相关联。第一个表中的'id'用于建立单独的行ID的Auto_Increments,我需要那些行id与第二个表中的订单相关。

注意:'id'和'skarow'的值不是来自.csv文件。

导入文件时出现以下错误:无法添加或更新子行:外键约束失败(mgaptoolmgap_orders,CONSTRAINT skarow_fk FOREIGN KEY({ {1}})参考skarowidmgap_ska

感谢任何帮助。

0 个答案:

没有答案