Microsoft
Software
Hardware
Network
Question : foreign key constraint error question
I have the following tables
CREATE TABLE `w_document_flat` (
`Accession_No` varchar(7) NOT NULL,
`Pub_Abbreviation` varchar(25) NOT NULL,
PRIMARY KEY (`Accession_No`)
) ENGINE=MyISAM
CREATE TABLE `descriptors` (
`descriptor_id` int(11) NOT NULL auto_increment,
`descriptor_name` varchar(500) NOT NULL,
PRIMARY KEY (`descriptor_id`)
) ENGINE=InnoDB
CREATE TABLE `w_descriptors` (
`descriptor_id` int(11) NOT NULL,
`Accession_No` varchar(7) NOT NULL,
PRIMARY KEY (`descriptor_id`,`Accessio
n_No`),
KEY `Accession_No` (`Accession_No`),
KEY `descriptor_id` (`descriptor_id`),
CONSTRAINT `Accession_No` FOREIGN KEY (`Accession_No`) REFERENCES `w_document_flat` (`Accession_No`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `descriptor_id` FOREIGN KEY (`descriptor_id`) REFERENCES `descriptors` (`descriptor_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB
When I try and do an insert into the
insert into w_descriptors (descriptor_id, Accession_No) values ("0000001", 1);
I get the following message:
Error Code: 1452
Cannot add or update a child row: a foreign key constraint fails (`w/w_descriptors`, CONSTRAINT `Accession_No` FOREIGN KEY (`Accession_No`) REFERENCES `w_document_flat` (`Accession_No`) ON DELETE NO ACTION ON UPDATE NO ACTION)
I am really confused. Is it because the w_document_flat table is MyISAM?
Answer : foreign key constraint error question
Yes, "Both tables must be InnoDB tables and they must not be TEMPORARY tables. "
http://dev.mysql.com/doc/r
efman/5.1/
en/innodb-
foreign-ke
y-
constrai
nts.html
I ran into the same problem recently.
Random Solutions
xml to array
Backup Exec 12 - can't install any updates - gives error 1324 "The path Program Files contains an invalid character"
How to program well
How to connect to network printer linux
can't get iPhone to connect to Exchange 2010 from outside...
Copy Entire Row and Paste into a new Worksheet Excel VBA
compile this code with Delphi 2010
how to replace all any chr(10)/chr(13) _not_ within html tags with a <br>
Windows Small Business Server 2008 Console Updates
URGENT: Solaris virtual printer lpd printing setup