यदि आपको चेतावनी संख्या 1287 मिलती है जिसमें लिखा होता है कि 'BINARY expr' को हटा दिया गया है और भविष्य के रिलीज में हटा दिया जाएगा। कृपया इसके बजाय CAST का उपयोग करें MySQL में क्वेरी चलाते समय, ऐसा इसलिए है क्योंकि आप BINARY
. का उपयोग कर रहे हैं ऑपरेटर।
BINARY
ऑपरेटर को MySQL 8.0.27 से हटा दिया गया है।
समस्या को ठीक करने के लिए, CAST()
. का उपयोग करके मान को बाइनरी में डालें इसके बजाय कार्य करें।
चेतावनी का उदाहरण
यहां कोड का एक उदाहरण दिया गया है जो चेतावनी देता है:
SELECT BINARY 'Cat';
परिणाम:
+----------------------------+ | BINARY 'Cat' | +----------------------------+ | 0x436174 | +----------------------------+ 1 row in set, 1 warning (0.00 sec)
हम देख सकते हैं कि इसने ठीक काम किया, लेकिन हमें एक चेतावनी भी मिली।
मैंने उसे MySQL 8.0.27 में चलाया और इसलिए मुझे चेतावनी मिली। यदि आप इसे MySQL के पुराने संस्करण में चलाते हैं, तो आपको शायद चेतावनी नहीं मिलेगी।
आइए चेतावनी देखें:
SHOW WARNINGS;
परिणाम:
+---------+------+----------------------------------------------------------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------------------------------------------------------+ | Warning | 1287 | 'BINARY expr' is deprecated and will be removed in a future release. Please use CAST instead | +---------+------+----------------------------------------------------------------------------------------------+
यह MySQL 8.0.27 रिलीज नोट्स के अनुरूप है जो बताते हैं:
<ब्लॉकक्वॉट क्लास ="डब्ल्यूपी-ब्लॉक-कोट">
BINARY
ऑपरेटर को अब पदावनत कर दिया गया है, और MySQL के भविष्य के रिलीज में हटाने के अधीन है। BINARY
. का उपयोग अब चेतावनी का कारण बनता है। CAST(... AS BINARY)
का उपयोग करें इसके बजाय।
समाधान
जैसा कि चेतावनी संदेश बताता है, हम CAST()
का उपयोग करके चेतावनी से छुटकारा पा सकते हैं BINARY
. के बजाय फ़ंक्शन ऑपरेटर:
SELECT CAST('Cat' AS BINARY);
परिणाम:
+----------------------------------------------+ | CAST('Cat' AS BINARY) | +----------------------------------------------+ | 0x436174 | +----------------------------------------------+ 1 row in set (0.00 sec)
बिल्ली को अब बिना कोई चेतावनी दिए बाइनरी में बदल दिया गया है।
आप वैकल्पिक रूप से CONVERT()
. का उपयोग कर सकते हैं CAST()
. के बजाय :
SELECT CONVERT('Cat' USING BINARY);
परिणाम:
+----------------------------------------------------------+ | CONVERT('Cat' USING BINARY) | +----------------------------------------------------------+ | 0x436174 | +----------------------------------------------------------+ 1 row in set (0.00 sec)
वही परिणाम।