Üç tablom var: kategoriler, diller ve kategoriler_dilimler. Categories_languages, kategorileri ve dilleri birbirine bağlayan pek çok tabloya sahiptir. Tablo dillerindeki bir foregin anahtar değerini güncellemek isterim ama bu beni hata atar # 1451 - Bir üst satır silinemiyor veya güncellenemiyor: Yabancı anahtar kısıtlaması başarısız!Mysql veritabanında yabancı anahtar değeri nasıl güncelleştirilir
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) unsigned NOT NULL auto_increment,
`name` varchar(20) NOT NULL,
`modified` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `languages` (
`id` char(2) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `categories_languages` (
`id` int(11) unsigned NOT NULL auto_increment,
`category_id` int(11) unsigned NOT NULL,
`language_id` char(2) NOT NULL,
`translation` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_category_id_language_id` (`category_id`,`language_id`),
KEY `fk_language_id` (`language_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
ALTER TABLE `categories_languages`
ADD CONSTRAINT `categories_languages_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `categories_languages_ibfk_2` FOREIGN KEY (`language_id`) REFERENCES `languages` (`id`) ON DELETE CASCADE;
Hata bana açık, ancak bu durumda anahtar değerini nasıl güncelleyebilirim?
ALTER TABLE `categories_languages`
ADD CONSTRAINT `categories_languages_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `categories_languages_ibfk_2` FOREIGN KEY (`language_id`) REFERENCES `languages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
ama bu da iletisiyle başarısız olur: Ben updata CASCADE ON ekleyerek çalıştı MySQL söyledi: Belgeler # 1005 - tablosunu './db_dodo/#sql-c2f_80e6f.frm' (errno: 121) oluşturulamıyor
güncelleştirme sorgusu o hatayı oluşturur Ne çalıştıran edilir? – bobwienholt