पर विचार करें:मैं एक चर के आधार पर एक स्कीमा का चयन कैसे करूं?
SET @PREFIX='DEV_';
SET @REFRESHDB=CONCAT(@PREFIX,'Refresh');
CREATE TABLE @REFRESHDB.`Metadata`
(
`Key` VARCHAR(30) NOT NULL,
`Value` VARCHAR(30) NOT NULL,
PRIMARY KEY (`Key`)
) ENGINE = InnoDB;
INSERT INTO @REFRESDB.`Metadata` (`Key`, `Value`) VALUES ("Version", "0");
यह मान्य होना प्रतीत नहीं होता है: mysql के साथ वापस आता है:
आप अपने एसक्यूएल वाक्य रचना में एक त्रुटि है, मैनुअल है कि आपके MySQL सर्वर संस्करण से मेल खाती है सही वाक्य रचना 'के पास का उपयोग करने के लिए @ REFRESHDB.`Metadata`
जहां तक मेरा बता सकते हैं मैं सही ढंग से the documentation के अनुसार कार्य कर लेते हैं की जाँच करें। फिर भी MySQL का कहना है कि इसकी अनुमति नहीं है। क्या यह MySQL की कुछ सीमा है (चर के रूप में चर के उपयोग की अनुमति नहीं है) या कुछ और?
मुझे नहीं लगता कि परिवर्तनीय नियंत्रणों को क्या आवंटित किया जा सकता है जहां चर का उपयोग किया जा सकता है। –
आप इसे किसी ऑब्जेक्ट के रूप में उपयोग कर रहे हैं, जिसका अर्थ यह है कि '@ REFRESHDB' का मान एक स्कीमा ऑब्जेक्ट है, न कि स्ट्रिंग मान वास्तव में है। –
डाउनवॉटर टिप्पणी करने की देखभाल करते हैं? –