ऐसा इसलिए संभव है क्योंकि आपने कॉलम के समान पहचानकर्ता के साथ कम से कम एक बाधा का नाम दिया है:
/* You already have a column named `restaurant` in this table,
but are naming the FK CONSTRAINT `restaurant` also... */
CONSTRAINT `restaurant`
FOREIGN KEY (`restaurant` )
REFERENCES `mydb`.`restaurants` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
बाधा के लिए एक अलग पहचानकर्ता का उपयोग करना चाहिए जैसे fk_restaurant
जैसे :
CONSTRAINT `fk_restaurant`
FOREIGN KEY (`restaurant` )
REFERENCES `mydb`.`restaurants` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
और वही बात food
में तालिका:
/* Name it fk_food */
CONSTRAINT `fk_food`
FOREIGN KEY (`food` )
REFERENCES `mydb`.`food` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
/* Name it fk_restaurant */
CONSTRAINT `fk_restaurant`
FOREIGN KEY (`restaurant` )
REFERENCES `mydb`.`restaurants` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
वे केवल तीन ही हैं जो मुझे दिखाई दे रहे हैं, लेकिन कुछ और भी हो सकते हैं जिन्हें मैंने याद किया।