首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqlimport:错误: 1452

mysqlimport:错误: 1452
EN

Stack Overflow用户
提问于 2013-09-13 11:37:41
回答 1查看 776关注 0票数 0

我用Perl编写了一个脚本,它创建了一个数据库模式:

代码语言:javascript
复制
CREATE TABLE descType (
    id MEDIUMINT unsigned PRIMARY KEY,
    descr MEDIUMTEXT)ENGINE=InnoDB;

CREATE TABLE taxType (
    id MEDIUMINT unsigned PRIMARY KEY,
    descr TEXT not null)ENGINE=InnoDB;

CREATE TABLE uniref(
            id INT unsigned PRIMARY KEY,
            seqId varchar (50) not null,
            descId MEDIUMINT unsigned not null,
            n MEDIUMINT unsigned not null,
            taxId MEDIUMINT  unsigned not null,
            repId varchar (50) not null,
            foreign KEY (descId) REFERENCES descType(id),
            FOREIGN KEY (taxId) REFERENCES taxType(id),
            unique(seqId)
            )ENGINE=InnoDB; 

当我使用这个命令时:

代码语言:javascript
复制
system qq(mysqlimport -u$mySqlUser -p$mySqlPass $database $table --local --fields-terminated-by="\t" --lines-terminated-by="\r\n") )== 0
   or die "ERROR: an error occurred while importing $table in $database. $?";

我知道这个错误:

代码语言:javascript
复制
mysqlimport: Error: 1452, Cannot add or update a child row: a foreign key 
constraint fails (`uniref_2013_08`.`uniref`, CONSTRAINT `uniref_ibfk_1` 
FOREIGN KEY (`descId`) REFERENCES `descType` (`id`)), when using 
table: uniref

我不知道我做错了什么。我在另一台机器上使用了相同的脚本,它运行得很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-13 14:41:49

外键保持数据完整性,并在没有父行的情况下防止插入。您需要先填充descType父表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18785403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档