MySQL menilai "BETUL atau BENAR dan SALAH" sebagai benar kerana DAN mempunyai keutamaan yang lebih tinggi daripada ATAU, iaitu DAN dinilai sebelum ATAU.
MySQL menilai pernyataan di atas seperti berikut. Mula-mula pernyataan operator DAN −
(TRUE or (TRUE AND FALSE))
(BETUL DAN SALAH) dinilai dan hasilnya adalah SALAH. Kemudian pernyataan kedua Penilaian adalah seperti berikut -
(TRUE or FALSE)
Pernyataan di atas memberikan keputusan BENAR.
Mari kita laksanakan satu persatu -
mysql> select (TRUE AND FALSE); +------------------+ | (TRUE AND FALSE) | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec)
Sekarang kita boleh meletakkan hasil di atas sebagai ganti syarat DAN −
mysql> select (TRUE or FALSE); +-----------------+ | (TRUE or FALSE) | +-----------------+ | 1 | +-----------------+ 1 row in set (0.00 sec)
Sekarang semak keseluruhan syarat sekali lagi −
mysql> select (TRUE or TRUE and FALSE);
Ini akan menghasilkan output berikut −
+--------------------------+ | (TRUE or TRUE and FALSE) | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec)
Atas ialah kandungan terperinci Mengapa MySQL menilai 'TRUE atau TRUE dan FALSE' sebagai benar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!