I was trying to debug this set of commands, which is actually run on two connections within the same process... but that detail apparently doesn't matter.
PRAGMA foreign_keys=on; create table `option4_name` (`name_id` char(36) NOT NULL,`name` varchar(255) NOT NULL default '' CONSTRAINT `name` UNIQUE); create table `option4_map` (`option_id` char(36) NOT NULL,`parent_option_id` char(36) NOT NULL default '0',`name_id` char(36) NOT NULL default '0',`description` tinytext,CONSTRAINT `parent_key2` UNIQUE (`parent_option_id`,`name_id`), FOREIGN KEY (`parent_option_id`) REFERENCES `option4_map`(`option_id`)ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (`name_id`) REFERENCES `option4_name`(`name_id`)ON UPDATE CASCADE ON DELETE CASCADE); create table `option4_values` (`option_id` char(36) default '0',`string` varchar(100) default NULL,`segment` int(11) default 0,CONSTRAINT `value_id` UNIQUE (`option_id`,`segment`)ON CONFLICT IGNORE, FOREIGN KEY (`option_id`) REFERENCES `option4_map`(`option_id`)ON UPDATE CASCADE ON DELETE CASCADE);select tbl_name,sql from sqlite_master where type='table' and BEGIN TRANSACTION; insert into option4_name (name_id,name) values( '82093fa2-3d93-11e8-98aa-6e01a5d0577f','.' ); insert into option4_map (option_id,parent_option_id,name_id)values('00000000-0000-0000-0000-000000000000','00000000-0000-0000-0000-000000000000','82093fa2-3d93-11e8-98aa-6e01a5d0577f' ); --SQLITE ERROR:Result of prepare failed? foreign key mismatch - "option4_map" referencing "option4_name" at char 185[] in [insert into option4_map (option_id,parent_option_id,name_id)values('00000000-0000-0000-0000-000000000000','00000000-0000-0000-0000-000000000000','82093fa2-3d93-11e8-98aa-6e01a5d0577f' )] _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users