【发布时间】: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