Никак не разберусь почему пробрасывает исключение constraint violation. Таблица и запрос простые:
CREATE TABLE `taxonomy_vocabulary` (
`name` varchar(32),
`parent_name` varchar(32),
PRIMARY KEY (`name`),
KEY `fk-taxonomy_vocabulary-parent_name` (`parent_name`)
);
ALTER TABLE `taxonomy_vocabulary`
ADD CONSTRAINT `fk-taxonomy_vocabulary-parent_name` FOREIGN KEY (`parent_name`) REFERENCES `taxonomy_vocabulary` (`name`) ON DELETE SET NULL ON UPDATE CASCADE;
INSERT INTO `taxonomy_vocabulary` (`name`, `parent_name`) VALUES
('test1', NULL),
('test2', 'test1');
UPDATE `taxonomy_vocabulary` SET `name`='test12345' WHERE `name`='test1';
Последняя строка с update бросает foreign key violation по единственному foreign ключу таблицы. Почему это происходит?