अगर आप ON DELETE SET NULL
set सेट करते हैं आपकी विदेशी कुंजी के लिए तो यह आपको फ़ील्ड को NOT NULL
. के रूप में सेट करने की अनुमति नहीं देगा ।
इसलिए आप कॉलम वाली तालिका को NOT NULL
. के रूप में बनाने या बदलने में सक्षम नहीं होंगे और ON DELETE SET NULL
देश आईडी . पर
जब मैं नीचे दिए गए कथनों को चलाता हूं:
CREATE TABLE `country` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ;
CREATE TABLE `city` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`countryId` int(10) unsigned DEFAULT NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_country` (`countryId`),
CONSTRAINT `FK_country` FOREIGN KEY (`countryId`) REFERENCES `country` (`id`) ON DELETE SET NULL ON UPDATE SET NULL
);
और मुझे त्रुटि मिली MySQL 5.5
है:
Schema Creation Failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_country` (`countryId`),
CONSTRAINT `' at line 4: