Jika Anda mendapatkan nomor peringatan 1287 yang berbunyi 'BINARY expr' tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Silakan gunakan CAST sebagai gantinya saat menjalankan kueri di MySQL, itu karena Anda menggunakan BINARY
operator.
BINARY
operator tidak digunakan lagi pada MySQL 8.0.27.
Untuk memperbaiki masalah ini, masukkan nilai ke biner menggunakan CAST()
berfungsi sebagai gantinya.
Contoh Peringatan
Berikut contoh kode yang menghasilkan peringatan:
SELECT BINARY 'Cat';
Hasil:
+----------------------------+ | BINARY 'Cat' | +----------------------------+ | 0x436174 | +----------------------------+ 1 row in set, 1 warning (0.00 sec)
Kami dapat melihat bahwa itu berfungsi dengan baik, tetapi kami juga mendapat peringatan.
Saya menjalankannya di MySQL 8.0.27 dan saya mendapat peringatan. Jika Anda menjalankannya di versi MySQL sebelumnya, Anda mungkin tidak akan mendapatkan peringatan tersebut.
Mari kita periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+----------------------------------------------------------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------------------------------------------------------+ | Warning | 1287 | 'BINARY expr' is deprecated and will be removed in a future release. Please use CAST instead | +---------+------+----------------------------------------------------------------------------------------------+
Hal ini sejalan dengan catatan rilis MySQL 8.0.27 yang menjelaskan:
BINARY
operator sekarang tidak digunakan lagi, dan dapat dihapus dalam rilis MySQL yang akan datang. PenggunaanBINARY
sekarang menyebabkan peringatan. GunakanCAST(... AS BINARY)
sebagai gantinya.
Solusi
Seperti yang disinggung oleh pesan peringatan, kita dapat menghilangkan peringatan dengan menggunakan CAST()
fungsi alih-alih BINARY
operator:
SELECT CAST('Cat' AS BINARY);
Hasil:
+----------------------------------------------+ | CAST('Cat' AS BINARY) | +----------------------------------------------+ | 0x436174 | +----------------------------------------------+ 1 row in set (0.00 sec)
Kucing sekarang telah diubah menjadi biner tanpa menghasilkan peringatan apa pun.
Anda juga dapat menggunakan CONVERT()
bukannya CAST()
:
SELECT CONVERT('Cat' USING BINARY);
Hasil:
+----------------------------------------------------------+ | CONVERT('Cat' USING BINARY) | +----------------------------------------------------------+ | 0x436174 | +----------------------------------------------------------+ 1 row in set (0.00 sec)
Hasil yang sama.