আমার কিছুটা অদ্ভুত সমস্যা হচ্ছে। আমি অন্য টেবিলে একটি টেবিলে একটি বিদেশী কী যুক্ত করার চেষ্টা করছি তবে এটি কোনও কারণে ব্যর্থ হচ্ছে। মাইএসকিউএল সম্পর্কে আমার সীমাবদ্ধ জ্ঞানের সাথে, সম্ভবত সন্দেহ হতে পারে এমন একমাত্র জিনিসটি হ'ল আমি যে রেফারেন্সটির চেষ্টা করছি তার উল্লেখ করে ভিন্ন টেবিলে একটি বিদেশী কী রয়েছে।
আমি SHOW CREATE TABLE
উভয় টেবিলে একটি ক্যোয়ারী করেছি , sourcecodes_tags
বিদেশী কী সহ টেবিলটি sourcecodes
হ'ল রেফারেন্সযুক্ত টেবিল।
CREATE TABLE `sourcecodes` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL,
`language_id` int(11) unsigned NOT NULL,
`category_id` int(11) unsigned NOT NULL,
`title` varchar(40) CHARACTER SET utf8 NOT NULL,
`description` text CHARACTER SET utf8 NOT NULL,
`views` int(11) unsigned NOT NULL,
`downloads` int(11) unsigned NOT NULL,
`time_posted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `language_id` (`language_id`),
KEY `category_id` (`category_id`),
CONSTRAINT `sourcecodes_ibfk_3` FOREIGN KEY (`language_id`) REFERENCES `languages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `sourcecodes_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `sourcecodes_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
CREATE TABLE `sourcecodes_tags` (
`sourcecode_id` int(11) unsigned NOT NULL,
`tag_id` int(11) unsigned NOT NULL,
KEY `sourcecode_id` (`sourcecode_id`),
KEY `tag_id` (`tag_id`),
CONSTRAINT `sourcecodes_tags_ibfk_1` FOREIGN KEY (`tag_id`) REFERENCES `tags` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
এটি কোড যা ত্রুটি উত্পন্ন করে:
ALTER TABLE sourcecodes_tags ADD FOREIGN KEY (sourcecode_id) REFERENCES sourcecodes (id) ON DELETE CASCADE ON UPDATE CASCADE