At 18:22 +0000 10/8/03, Croniser Brian Contr AFRL/IFGB wrote:
Here is the script that creates the database.

create table object_attrib (obj_record_id INTEGER(7) AUTO_INCREMENT NOT
NULL,
    PRIMARY KEY (obj_record_id),
    INDEX (rel_obj_int_id),
       FOREIGN KEY (rel_obj_int_id)
       REFERENCES obj_id_internals (obj_int_id)
    ON DELETE RESTRICT ON UPDATE CASCADE,
    INDEX (rel_os_id),
       FOREIGN KEY (rel_os_id)
       REFERENCES os_product (os_id)
    ON DELETE RESTRICT ON UPDATE CASCADE,
    INDEX (rel_db_id),
       FOREIGN KEY (rel_db_id)
       REFERENCES db_product (db_id)
    ON DELETE RESTRICT ON UPDATE CASCADE,
    rel_obj_int_id INTEGER(7) NOT NULL, rel_os_id INTEGER(7) NOT NULL,
    rel_db_id INTEGER(7) NOT NULL, obj_path VARCHAR(255) NOT NULL,
    obj_name VARCHAR(255) NOT NULL, obj_4n6_purpose BLOB NULL,
    obj_info_source BLOB NULL, obj_comments BLOB NULL,
    obj_md5_value VARCHAR(43) NOT NULL, obj_stat_dyn VARCHAR(8) NULL,
    obj_byte_size VARCHAR(16) NOT NULL, obj_category VARCHAR(255) NULL,
    obj_rec_last_update DATE NOT NULL, obj_rec_orgin DATE NOT NULL) TYPE =
INNODB;

Here are the lines of perl code that I am using.

open(INPUT,$filename) || die "Check to see if $filename is a valid file.\n";
$sth = $dbh->prepare(q{INSERT INTO
object_attrib(obj_path,obj_name,obj_byte_size,obj_md5_value) VALUES
(?,?,?,?)}) || die $dbh->errstr;
while (<INPUT>)
{
   chomp;
   ($obj_path,$obj_name,$obj_byte_size,$obj_md5_value) = split /,/;
   $sth->execute($obj_path,$obj_name,$obj_byte_size,$obj_md5_value) || die
$dbh->errstr;
}
close INPUT;
$dbh->disconnect;


Can someone tell me why I get the following error:


Cannot add or update a child row: a foreign key constraint fails.

Thanks,

Brian Croniser

You're not assigning an explicit value to any of your foreign keys. Apparently the default value (0) is not present in one or the other of the referenced keys in the parent table?

--
Paul DuBois, Senior Technical Writer
Madison, Wisconsin, USA
MySQL AB, www.mysql.com

Are you MySQL certified? http://www.mysql.com/certification/


-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to