【问题标题】:load infile from txt file doesnt work从 txt 文件加载 infile 不起作用
【发布时间】:2014-07-18 06:20:30
【问题描述】:

我在将 txt 文件中的数据加载到表中时遇到问题

表格:

 CREATE TABLE s_schueler (
  s_schnr int(20) NOT NULL AUTO_INCREMENT,
  s_name varchar(30) NOT NULL,
  s_k_klasse varchar(10) NOT NULL,
  KEY s_k_klasse (s_schnr),
  CONSTRAINT s_schueler_ibfk_1 FOREIGN KEY (s_k_klasse) REFERENCES k_klassen (k_id)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=latin1;



CREATE TABLE `k_klassen` (
  `k_id` char(4) NOT NULL,
  `k_bez` varchar(30) NOT NULL,
  PRIMARY KEY (`k_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

查询:

LOAD DATA
    INFILE 'C:/Users/User/Desktop/SQL-schueler2.txt'
    INTO TABLE s_schueler
    FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
    (s_name,s_k_klasse);

因为我在 Auto_INCREMENT 上有我的 ID,所以我不使用它作为参数

文本文件:

Ruben 01VL
Sean 03TA
Paul 03TB

错误:

错误代码:1452。无法添加或更新子行:外键约束失败 (test.s_schueler, CONSTRAINT s_schueler_ibfk_1 FOREIGN KEY (s_k_klasse) REFERENCES k_klassen (k_id) ON DELETE CASCADE ON UPDATE CASCADE)

【问题讨论】:

    标签: mysql load load-data-infile


    【解决方案1】:

    来自 MySQL 参考手册中的 LOAD DATA INFILE:

    要在加载操作期间忽略外键约束,请在执行 LOAD DATA 之前发出 SET foreign_key_checks = 0 语句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 2016-04-08
      • 2014-11-22
      • 2015-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多