Marcmc 0 Denunciar post Postado Outubro 27, 2015 create table str ( id int not null auto_increment primary key, strings varchar(20) )engine=innodb; create table reg_str ( id int not null auto_increment primary key, id_str int not null, atual int not null, media float not null, atual_media float not null, foreign key fk_id(id_str) references str(id) ON UPDATE CASCADE ON DELETE RESTRICT )engine=innodb; LOAD DATA LOCAL INFILE '/home/mysql/reg_str.txt' INTO TABLE reg_str FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (atual, media, atual_media); LOAD DATA LOCAL INFILE '/home/mysql/str.txt' INTO TABLE str FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (strings); Como vocês vêem acima, crio 2 tabelas e tento preenchê-las com conteúdo de 2 arquivos. O conteúdo, a princípio, pouco importa. Minhas dúvidas são em cima da PRIMARY KEY e da FOREIGN KEY da tabela reg_str. É o seguinte. Quando faço o "LOAD DATA INFILE" para a tabela "str", fica tudo beleza, o id é auto-incrementado e iniciando em 1. Já quando faço o "LOAD DATA INFILE" para a tabela reg_str, acontecem algumas coisas: 1) Aparece a mensagem de erro: ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`lfc`.`reg_str`, CONSTRAINT `reg_str_ibfk_1` FOREIGN KEY (`id_str`) REFERENCES `str` (`id`) ON UPDATE CASCADE) Pesquisando, davam como opção executar o comando: SET foreign_key_checks = 0; Ok. Executei esse comando, repeti o LOAD DATA INFILE e em seguida, SET foreign_key_checks = 1; 2) Só que acontece o seguinte, id de reg_str faz auto-incremento MAS NUNCA INICIA EM 1 e a coluna da foreign key id_str aparece TODA ZERADA. Pergunto: 1) Por que id de reg_str não inicia em 1? 2) Por que a coluna id_str, que é a foreign key, aparece toda zerada? Não deveria pegar os dados da tabela str??? Compartilhar este post Link para o post Compartilhar em outros sites