के रूप में एक वर्कर कॉलम के साथ MySQL तालिका मैं वर्चर कॉलम के साथ एक विदेशी तालिका के रूप में एक टेबल बनाने की कोशिश कर रहा हूं लेकिन तालिका बनाने के दौरान MySQL मुझे त्रुटि देता है। मेरे क्वेरी इस तरह है:विदेशी कुंजी
CREATE TABLE network_classes (
id TINYINT(1) UNSIGNED NOT NULL AUTO_INCREMENT,
category VARCHAR(80) NOT NULL,
PRIMARY KEY(id),
KEY `key_1` (`id`,`category`)
)
ENGINE=InnoDB;
CREATE TABLE networks (
id TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
category VARCHAR(80) NOT NULL,
director_id TINYINT(3) UNSIGNED NULL,
director_name VARCHAR(100) NULL,
description VARCHAR(1000) NULL,
last_modified TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
user_id SMALLINT UNSIGNED NULL,
PRIMARY KEY(id),
KEY `networks_fk1` (`category`),
CONSTRAINT `networks_fk1` FOREIGN KEY (`category`) REFERENCES `network_classes` (`category`) ON DELETE NO ACTION,
INDEX networks_index2471(name),
INDEX networks_index2472(director_id, director_name)
)
ENGINE=InnoDB;
और मैं इस त्रुटि मिलती है:
[Err] 1215 - Cannot add foreign key constraint
मैं MySQL 5.6.12 उपयोग कर रहा हूँ। इसे ठीक करने के लिए मैं अपनी क्वेरी को फिर से लिख सकता हूं?
विदेशी कुंजी मैं यह सही जोड़ने के लिए सक्षम होना चाहिए अपने network_classes तालिका को संशोधित करें ताकि श्रेणी क्षेत्र में अनूठा है, लेकिन अभी भी एक ही मुद्दा है –
आपका network_classess रिक्त है ? एक और बात, यदि आप एक समग्र प्राथमिक कुंजी को परिभाषित करते हैं, तो विदेशी कुंजी बराबर होनी चाहिए (यह आपकी त्रुटि पर प्रभाव नहीं डालती है) –
हां, यह है। क्या आप कृपया अपनी तरफ से क्वेरी चला सकते हैं? मैं सैद्धांतिक कल्पनाओं के बजाय व्यावहारिक समाधान की तलाश में हूं। –